Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery Ajax.post()问题_Javascript_Jquery - Fatal编程技术网

Javascript jQuery Ajax.post()问题

Javascript jQuery Ajax.post()问题,javascript,jquery,Javascript,Jquery,我有以下代码: $(document).ready(function() { console.log("Document ready..."); $.post("...file.asmx/HelloWorld", function(data) { console.log("Post Successful"); }); }); 我得到以下控制台输出: [10:01:44.528] Doc

我有以下代码:

$(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]
我的问题是为什么第二个日志调用没有执行?似乎post成功了,应该执行该函数。我正在使用firefox

此外:


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

A
200ok
响应不能保证AJAX调用成功

跨源资源共享规则可能禁止访问资源,或者返回的内容可能不可解析

添加一个错误回调,查看是否调用了该回调,如果调用了,使用什么参数

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


@user1737909仅因为HTTP状态为OK,并不保证下载被正确解析。或者它可能没有通过CORS安全检查。当我尝试并记录错误时,没有显示任何内容,但函数正在被调用。根据服务返回的数据类型,您可能希望将第四个参数传递给
$.post()
,该参数说明响应的格式(JSON、HTML、文本等)。如果不这样做,jQuery将根据其
内容类型
标题猜测如何解析响应。另外,我认为在jQuery的最新版本中,空响应被认为是无效的JSON,而它过去是可以的
$(document).ajaxError(function(event, jqxhr, settings, exception) {
      console.log( "Triggered ajaxError handler." );
      console.log(exception);
});
$.post(...).fail(function(jqXHR, textStatus, errorThrown) {
    // log here
});