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一起使用。