0

我有以下代码:

$(document).ready(function() {

     console.log("Document ready...");

     $.post("...file.asmx/HelloWorld", function(data) {

          console.log("Post Successful");               
     });            
});

我得到以下控制台输出:

[10:01:44.528] Document ready...
[10:01:44.601] POST ..file.asmx/HelloWorld [HTTP/1.1 200 OK 103ms]

我的问题是为什么第二个日志调用没有执行?看起来帖子成功了,该功能应该执行。我正在使用火狐。

还:

$(document).ajaxError(function(event, jqxhr, settings, exception) {
      console.log( "Triggered ajaxError handler." );
      console.log(exception);
});

当我尝试记录异常时,我的控制台中出现一个空行。

4

1 回答 1

2

200 OK响应并不能保证 AJAX 调用成功。

跨域资源共享规则可能会禁止访问资源,或者返回的内容可能无法解析。

添加一个错误回调并查看它是否被调用,如果是,使用什么参数。

由于$.post不直接支持错误回调,您可以使用“延迟”语法:

$.post(...).fail(function(jqXHR, textStatus, errorThrown) {
    // log here
});
于 2013-05-29T14:16:54.670 回答