jquery AJAX XMLHttpRequest.status 为0(转)
出处:http://gghaomm.iteye.com/blog/1876563
<script type="text/javascript"> $(document).ready(function(){ $('.trigger').click(function() { $.ajax({ url: 'http://localhost:8080/index.jsp', type: 'post', timeout: 1000, error: function(XMLHttpRequest, textStatus, errorThrown){ alert(textStatus+'Error loading PHP document'+XMLHttpRequest.status); }, success: function(result){alert(result);} }); }); }); </script> </head> <body> <div class="trigger">Trigger</div>
上面是AJAXERORR.HTML 执行这个文件 就算 http://localhost:8080/index.jsp 存在 XMLHttpRequest.status也是O 原因是跨域访问了,就算是找不到这个文件 也是一样返回O 
必须把AJAXERORR.HTML放在项目里面 然后执行 就和预期结果一样 
如果把URL地址换成本地文件 根本就没有走HTTP 所以也自然返回O
我分析原因是 请求地址有还是没有 都会反正正常HTTP请求码
但是JS会防止跨域访问 所以统一返回状态码为O
另外就算放在服务器里面 请求地址必须是一样的
不能一个是IP 另外一个是localhost 这样
我也只是分析 具体原因也不清楚 欢迎大家拍砖

浙公网安备 33010602011771号