不知道java怎么做,我用js post一个网络上的网站,想获取相关信息,可是失败了大家帮忙看看啊。thx。同时祝节日快乐啊<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.   

    http://tech.ddvip.com/2008-11/122708531993627.html
      

  2.   

    js端很难跨域,需要技巧。最好是请求你的Server端,让Server端做事,用HttpClient就行了。
      

  3.   

    ajax是不允许跨域的,你可以用后台程序提交,然后获取header中的location
      

  4.   

    就像楼上说的,建议楼主通过javascript请求自己的server端,然后由自己的server端使用httpclient进行访问,然后把需要信息解析出来后返回自己的客户端。javascript你跨域请求最大的问题在于你不知道对方返回的是什么格式的数据。
      

  5.   

    1.首先这不是“握手信息”,HTTP协议是不需要建立连接的
    2.其次“HTTP/1.1 302 Moved Temporarily”中302是HTTP起始行的状态标志,意识是客户端跳转至消息体中“Location”描述的地址
    3.“Location”字段是HTTP消息体中的命令行,而不是消息内容。没用过“jQuery”,不知道它是怎么玩的,如果它能提供HTTP消息头的获取,那么就去查一下它的API。但个人认为悬。
    4.最后,我不清楚楼主想做什么。Java和JS是不同的,如果用Java,那么能运用SOCkET开发,至少能够实现所有应用层协议。但用JS,那么首先运行环境就只能局限在HTTP协议内部了。