Javascript 使用jquery ajax请求失败,但使用curl成功
我正在使用jQuery启动一个ajax请求。 当使用jQuery调用请求时,我会得到一个“意外的输入结束”错误,并且PHP文件没有响应,但是如果我从Chrome控制台将请求复制为curl并使用linux命令行运行,我会得到正确的响应 这是ajax函数:Javascript 使用jquery ajax请求失败,但使用curl成功,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在使用jQuery启动一个ajax请求。 当使用jQuery调用请求时,我会得到一个“意外的输入结束”错误,并且PHP文件没有响应,但是如果我从Chrome控制台将请求复制为curl并使用linux命令行运行,我会得到正确的响应 这是ajax函数: var form = $('#edit form').first(); $.ajax({ url: 'upload.php?uuid=' + uuid, type:
var form = $('#edit form').first();
$.ajax({
url: 'upload.php?uuid=' + uuid,
type: 'POST',
data: form.serialize(),
cache: false,
success: function(data) {
console.log(data);
},
error: function( jqXHR, textStatus, errorThrown ){
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
}
});
我已经检查过了,看看这是否是Chrome的问题,但在其他浏览器中似乎也会发生
提前谢谢我认为您缺少了
contentType
,而且如果您的数据类型是json,请也包括这一点
试试这个
事实证明,问题出在form.serialize()上。它将其转换为字符串,但不知何故没有将其作为POST请求进行处理。我必须使“数据”成为一个对象,它可以获取每个表单输入的值,并且可以正常工作。在upload.php文件中,如何返回数据?请注意,您正在使用POST为什么不将uuid与POST参数一起传递?返回结果的数据类型是什么……是json吗?@iJay是json。iv'e尝试添加'contentType:'application/json;charset=utf-8',数据类型:'json','正如您在回答中所建议的,但事实并非如此help@PatsyIssaupload.php文件还响应不同的调用,这些调用只使用GET,发送给它们的参数是相同的UUID,我不认为这会对它造成如此严重的伤害
var form = $('#edit form').first();
$.ajax({
url: 'upload.php?uuid=' + uuid,
type: 'POST',
data: form.serialize(),
cache: false,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(data) {
console.log(data);
},
error: function( jqXHR, textStatus, errorThrown ){
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
}
});