Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery ajax请求失败,但使用curl成功_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 使用jquery ajax请求失败,但使用curl成功

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:

我正在使用jQuery启动一个ajax请求。 当使用jQuery调用请求时,我会得到一个“意外的输入结束”错误,并且PHP文件没有响应,但是如果我从Chrome控制台将请求复制为curl并使用linux命令行运行,我会得到正确的响应

这是ajax函数:

        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);
        }

    });