<body onload="runStart()">


</body><script type="text/javascript">

  function runStart()
  {
$.ajax({
   type: "post",
 
   url: "http://top.laisao.com/plus/class/lookshop.php",
   data: "nick=emmalvyh",
   error:function() { 
alert("error");
 }, 
   success: function(msg){
   
  
     alert( "Data Saved: " + msg );
   }
});
}</script>
</html>我用jQuery post请求一个网站,然后返回 alert( "Data Saved: " + msg );msg总是“”不知道是为什么?我通过工具:ieHTTPHeadersSetup
看到返回的握手信息为:
HTTP/1.1 302 Moved Temporarily
Server: nginx/0.7.61
Date: Fri, 19 Feb 2010 15:28:20 GMT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Connection: close
X-Powered-By: PHP/5.2.8
Location: http://xxx.xxx.xxx/....................发现我想获得数值就在返回的握手信息中有,就是Location属性的值,我该怎么做呢?是否能获得啊?

解决方案 »

  1.   

    如果是跨域调用的话,jQuery的请求应该是发不出去的吧。如果是jsonp格式的话就不是通过XHR发请求了.
      

  2.   

    用原始的XHR对象,用它的getAllResponseHeaders获取http message的message header。
      

  3.   


    xhr是什么啊?能说详细点吗?
    jQuery请求应该已经没错因为
    程序跳到了下面说明访问是正确的,只是对方并不是返回信息给ajax而已。做了其他操作
     success: function(msg){
                           
                      
                         alert( "Data Saved: " + msg );
                       }
      

  4.   

    1  Ajax POST 好象还没有看到可以跨域的解决方案.
    2  Ajax success 只处理 HTTP Body 内容.不处理 HTTP Header 的内容.
    建议你做一个 AJAX 代理. 模拟POST来完成.