Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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
Php $POST返回{“readyState”4、“status”200、“statusText”:“success”}_Php_Jquery_Ajax_Post - Fatal编程技术网

Php $POST返回{“readyState”4、“status”200、“statusText”:“success”}

Php $POST返回{“readyState”4、“status”200、“statusText”:“success”},php,jquery,ajax,post,Php,Jquery,Ajax,Post,尝试使用时: $.ajax({ type: "POST", url: surl, data: {funcToCall: "getHello",val:"Luke"}, dataType: "jsonp", jsonp : "callback", jsonpCallback: "getHelloResponse" }).success(function(data){ alert(JSON.stringify(data)); }).

尝试使用时:

$.ajax({
    type: "POST",
    url: surl,
    data: {funcToCall: "getHello",val:"Luke"},
    dataType: "jsonp",
    jsonp : "callback",
    jsonpCallback: "getHelloResponse"

}).success(function(data){
    alert(JSON.stringify(data));
}).
    error( function (data){
    alert(JSON.stringify(data));
});
我收到:

{"readyState":4,"status":200,"statusText":"success"}
但是当省略默认类型为“GET”的类型时,它工作得很好

编辑目标php页面以处理POST和GET

编辑:


因此,实际的问题是:为什么ajax帖子没有返回“Hello Luke!”的预期结果?

成功和错误应为$.ajax设置,它返回jqXhr,您可以在其上执行.done(),但不是成功或错误

以下是工作变量:

$.ajax({
    type: "POST",
    url: surl,
    data: {funcToCall: "getHello",val:"Luke"},
    dataType: "jsonp",
    jsonp : "callback",
    jsonpCallback: "getHelloResponse",
    success: function(data){
        alert(JSON.stringify(data));
    }
    error: function (data){
        alert(JSON.stringify(data));
    }
});
这是一个已完成的示例,其中,如果您可以检查执行是否正常通过或出现了问题。。等等

$.ajax({
    url: "file.php",
    context: document.body
}).done(function() { 
    ($this).addClass("greenBody"); // This is the context - document.body
});

您不喜欢http状态代码200
OK
?我认为在JSONP旁边使用POST请求不是一个好主意。看,JSONP请求本质上是伪装的
;但是,不能简单地将“POST HTTP”指定为其src。查看有关此主题的更多详细信息。@raina77ow谢谢。就这样:)@LukeLindner我应该给你一个答案让你接受吗?)但从技术上讲,这并不是你问题的答案;我不知道为什么
data
会变成
jqXhr
对象。@raina77这取决于您,但您确实回答了我的问题:不要将POST与jsonp一起使用。