$_POST returning {"readyState":4,"status"


$_POST returning {"readyState":4,"status":200,"statusText":"success"}

尝试使用时:

$.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 帖子没有返回"你好卢克!"的预期结果?

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