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 这样 

我也只是分析 具体原因也不清楚 欢迎大家拍砖 

posted @ 2016-04-14 11:48  邹邹  Views(743)  Comments(0)    收藏  举报