url请求的地址:http://localhost/test/untitled1.php?imCode=HP-LG-072&compId=339222&ltCode=CNuntitled1.php 里的代码是:
<head>
<script language="javascript" type="text/javascript" src="lib/jquery-1.8.2.js"></script>
</head>
<body>
<div id="info"></div>
<script language="javascript" type="text/javascript">
$(document).ready(function(){  
    $.post("http://www.jiemai.com/itempropertyList.php",{"front.imcode":<?php echo $_GET["imCode"]; ?>,"front.compId":<?php echo $_GET["compId"]; ?>,"front.ltCode":<?php echo $_GET["ltCode"]; ?>},  
          function(data){  
           $("#info").html(data);  
           }  
    );  
});
</script>
</body>其中http://www.jiemai.com/itempropertyList.php是别的网站的页面
这个代码不能执行,,应该如何解决啊????
webjqueryphp

解决方案 »

  1.   

    看看前端输出的html是否正确。然后
    firebug看看,ajax返回的状态和报头
      

  2.   

    跨域了,需通过服务器中转
    或可以用 JSONP 实现,没有试验过
      

  3.   

    1是构建服务器端的代理,简言之,就是ajax中调用的实质还是本机的url,而服务器端替js去取回远端地址。
     
    2.利用script标记,生成一个标签。在js加载完成后,再执行后续操作。
     就是将原来新建xmlHTTPrequest对象的操作改成了新建script标签的操作.得用jeson格式的数据
     
    个人感觉这个实例还是挺容易理解的:var  Ajah=function(url,varname,handleSuccess,handleFailure){ 
            /** 
            * handleSuccess,handleFailure must be functions 
            * */ 
            script = document.createElement("script"); 
            script.src=url; 
            var handler = function(str) 
            { 
                    handleSuccess(str); 
            } 
            script.onload = function() 
            { 
                    var json=eval(varname); 
                    handler(json); 
            } 
            if(window.ie) 
            { 
                    script.onreadystatechange = function() 
                    { 
                            if(script.readyState=='complete'||script.readyState== 'loaded') 
                            { 
                                    var json=eval(varname); 
                                    if(typeof json != 'undefined') 
                                    { 
                                            handler(json); 
                                    } 
                            } 
                    } 
            } 
            document.body.appendChild(script); 
    }<html> 
    <head> 
      <meta name="generator" content= 
      "HTML Tidy for Linux (vers 1 September 2005), see www.w3.org"> 
      
      <title></title> 
            <script src="mootools.js"></script> 
            <script src="ajah.js"></script> 
    </head> 
      
    <body> 
    <script> 
    var ajah=new Ajah("data.js","json198",function(str){ 
            console.debug("returned:"); 
            console.debug(str); 
    }, 
    function(str){}); 
    </script> 
    </body> 
    </html>