$ _POST return {“readyState”:4,“status”:200,“statusText”:“success”}

时间:2012-08-15 10:42:40

标签: 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));
}).
    error( function (data){
    alert(JSON.stringify(data));
});

我收到:

{"readyState":4,"status":200,"statusText":"success"}

但是当省略默认类型为“GET”的类型时,它可以正常工作!

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

修改

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

1 个答案:

答案 0 :(得分:0)

成功和错误预期为$ .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
});