Php 如何使用AJAX正确发送FormData()
当我尝试从我的LTS服务器用AJAX发送FormData时(不是在本地机器上),似乎出现了问题。我怀疑并非所有浏览器都支持FormData,但它在我的本地计算机上运行得非常好,与我在服务器(LTS)上尝试使用的浏览器相同。我在这里有点迷路了,不知道该怎么办 进一步解释: 索引 控制器Php 如何使用AJAX正确发送FormData(),php,jquery,ajax,form-data,Php,Jquery,Ajax,Form Data,当我尝试从我的LTS服务器用AJAX发送FormData时(不是在本地机器上),似乎出现了问题。我怀疑并非所有浏览器都支持FormData,但它在我的本地计算机上运行得非常好,与我在服务器(LTS)上尝试使用的浏览器相同。我在这里有点迷路了,不知道该怎么办 进一步解释: 索引 控制器 function __construct() { parent::__construct(); $config['upload_path'] = './data/picDir/'; $con
function __construct() {
parent::__construct();
$config['upload_path'] = './data/picDir/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['overwrite'] = TRUE;
$this->load->library('upload', $config);
$this->upload->initialize($config);
}
function upload_picture() {
if ($this->check_authorization()) {
if ($this->ion_auth->get_user_id()) {
if ($this->upload->do_upload('file')) {
$data = $this->upload->data();
echo json_encode(array(
"image_name" => $data["file_name"],
"success" => true
));
} else {
echo json_encode(array(
"success" => false,
"error_message" => $this->upload->display_errors()
));
}
}
}
}
当被触发时,请求一直在等待来自php控制器的响应,我认为没有响应。我相信您的“echo json_encode…”应该在响应中-类似于$this->response(json_encode…)。echo不会返回对ajax请求的响应。请检查您的框架或库以获得正确的响应,并将其共享。我相信您的“echo json_encode…”应该包含在响应中,类似于$this->response(json_encode…)。echo不会返回对ajax请求的响应。请检查您的框架或库是否有正确的响应,并将其共享。尝试从ajax请求中删除url中的点,然后重试。从url中我看不到控制器目录有任何问题。当
data:data
未通过时,它可以正常工作。请尝试从ajax请求中删除url中的点,然后重试。从url中我看不到控制器的目录有任何问题。当data:data
未通过时,它可以正常工作。请注意,这在我的本地计算机上运行良好。我想问题出在这里。data=new FormData()
请以不同的方式设置数据,然后再试一次,注意这在我的本地机器上工作得很好。我认为问题出在这里data=newformdata()
请以不同的方式设置数据,然后重试
$('[id="image-value"]').change(function(e) {
var data = new FormData();
var file_data = this.files[0];
data.append('file', file_data);
e.preventDefault();
$.ajax({
url: './someController/upload_picture/',
type: 'POST',
data: data,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function(data){
if (data.success == true) {
console.log(data.image_name);
} else {
var error = data.error_message;
$(".question-message").fadeIn("fast").html(error);
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("The following error occured: " + textStatus, errorThrown);
}
});
});
function __construct() {
parent::__construct();
$config['upload_path'] = './data/picDir/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['overwrite'] = TRUE;
$this->load->library('upload', $config);
$this->upload->initialize($config);
}
function upload_picture() {
if ($this->check_authorization()) {
if ($this->ion_auth->get_user_id()) {
if ($this->upload->do_upload('file')) {
$data = $this->upload->data();
echo json_encode(array(
"image_name" => $data["file_name"],
"success" => true
));
} else {
echo json_encode(array(
"success" => false,
"error_message" => $this->upload->display_errors()
));
}
}
}
}