尝试使用时:
$.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!”的预期结果?
答案 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
});