gpt4 book ai didi

php - 如何使用 php jquery ajax 上传文件和插入数据

转载 作者:搜寻专家 更新时间:2023-10-31 21:21:15 26 4
gpt4 key购买 nike

我无法通过 ajax 发送到 php 文件上传和使用 ajax 的数据。 我的代码只是发送文件上传。数据没有发送到我的 PHP 代码。我使用ajax创建表单并点击发送函数以在php上发布。 我正在使用 codeigniter

这是我的表格:

<form action="<?php echo site_url('home/send_chat');?>" method="post" enctype="multipart/form-data">
<input name="message" id="message" type="text" class="form-control input-sm" />
<input type="file" id="file" name="file" />
<br />
<span class="input-group btn">
<button type="submit" class="btn btn-info btn-sm" id="submit">Enkripsi</button>
</span>
</form>

此 javascript 使用 ajax 在 php 上发送帖子:

$('#submit').on('click', function(){
var message = $('#message').val();

var fd = new FormData(this);
fd.append('file',$('#file')[0].files[0]);

$.ajax({
method:"POST",
url:"<?php echo site_url('home/send_chat');?>",
data: {fd,message:message},
cache: false,
contentType: false,
processData: false,
success: function(data){
alert(data);
},
error: function(xhr, status, error) {
alert(xhr.responseText);
}
});
});

我已经尝试使用 $_POST['message'];$this->input->post("message"); 两者都不起作用此 php 处理代码:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
public function send_chat()
{
$name = $_FILES['file']['name'];
$error = $_FILES['file']['error'];
$size = $_FILES['file']['size'];


// $message = $_POST['message'];
$message = $this->input->post("message");

$user = $this->session->userdata('username');
$iduser = $this->session->userdata('userID');



$insert="insert into chat (user,message,id_user,fileupload) VALUES ('$user','$message','$userid','$name')";
$this->db->query($insert);
}
}

在数据库中,我只发送名称文件 upload.user、message 和 iduser,它不发送。

最佳答案

我认为您的问题可能出在 ajax 代码中因为您正在使用 formData object 。尝试用它附加消息变量

$('#submit').on('click', function(){

var fd = new FormData(this);
fd.append('file',$('#file')[0].files[0]);
fd.append('message ',$('#message').val());

$.ajax({
method:"POST",
url:"<?php echo site_url('home/send_chat');?>",
data: fd,
cache: false,
contentType: false,
processData: false,
success: function(data){
alert(data);
},
error: function(xhr, status, error) {
alert(xhr.responseText);
}
});
});

关于php - 如何使用 php jquery ajax 上传文件和插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47845081/

26 4 0
文章推荐: php - DOMDocument,根据需要添加周围的
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com