代码如下,使用get方法得到json数据,但是取不到json里的属性的值。如果使用getJSON又得不到json数据,不能实现跨域,请各位指点,谢谢。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <script type="text/javascript" src="script/jquery-1.3.2.min.js"></script>
        <script type="text/javascript">
//data= {}
//data.d={success:true,error:"",singleInfo:"",data:[{a:"a0",b:"b0"},{a:"a1",b:"b1"},{a:"a2",b:"b2"}]}
//alert(data.d.data)
//for(var i=0;i<data.d.data.length;i++){
//  alert(data.d.data[i].a) 
//}        $(document).ready(function()
{
 $.get("http://ajax.googleapis.com/ajax/services/search/books?v=1.0&q=Google&start=4",{}, function(json)
     {
var prefix_s='http://s.wanfangdata.com.cn/paper.aspx?f=SimpleSearch&q='; 
alert(json);
$('#test1').html(json.responseData);
//var html_origin_j=$(html_origin);
     
    });  
        },'json');
        </script>
    </head>
    <body>
        <div id="test1">111</div>
    </body>
</html>

解决方案 »

  1.   

    var obj;
    eval("obj=" + json + ";")
    $('#test1').html(obj.responseData);
      

  2.   

    谢谢,好像不行<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
        <head>
            <script type="text/javascript" src="script/jquery-1.3.2.min.js"></script>
            <script type="text/javascript">
            $(document).ready(function()
    {
     $.get("http://ajax.googleapis.com/ajax/services/search/books?v=1.0&q=Google&start=4",{}, function(json)
         {
    var prefix_s='http://s.wanfangdata.com.cn/paper.aspx?f=SimpleSearch&q='; 
    alert(json);
    var obj;
    eval("obj=" + json + ";")
    $('#test1').html(obj.responseData);      
        });  
            },'json');
            </script>
        </head>
        <body>
            <div id="test1">111</div>
        </body>
    </html>
      

  3.   

    取 http://ajax.googleapis.com/ajax/services/search/books?v=1.0&q=Google&start=4
    的话应该是跨域操作了。
    可以在服务器端用代理xmlhttp去取,然后返回取得的数据。这样就不跨域了,也就可以取数据了。
      

  4.   

    本地写个接口先接受JSON,JS去访问自己的接口
      

  5.   

    本地写个接口先接受JSON,JS去访问自己的接口
      

  6.   

    本地写个接口先接受JSON,JS去访问自己的接口
      

  7.   

    本地写个接口先接受JSON,JS去访问自己的接口
      

  8.   

    因为这是google提供的,我也没打算设服务端,上面的代码中alert(json);已有数据,但是无法形成json进行提取里面的内容。做过一个类似的,在最后的格式里写的是'xml',后来用xml可以处理。 $.get(url,{}, function(xml){  },'xml');我把这里的'xml'改成'json'后却无法解析里面的内容。
      

  9.   

    已经找到方法了,开始是我写错了,可以这样:$.get("http://ajax.googleapis.com/ajax/services/search/books?v=1.0&q=Google&start=4",{}, function(json)
        {
    alert(json.responseData.results);
    for (var i = 0; i < json.responseData.results.length; i++) {
    alert(json.responseData.results[i].GsearchResultClass);
    }
    $('#test1').html();
        },"json"); 
      

  10.   

    本机测试可以:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
        <head>
            <script src="http://ajax.Microsoft.com/ajax/jQuery/jquery-1.3.2.min.js"></script>
            <script type="text/javascript">
            $(document).ready(function()
            {
                 $.get("http://ajax.googleapis.com/ajax/services/search/books?v=1.0&q=Google&start=4",{}, function(json)
                 {
                    var prefix_s='http://s.wanfangdata.com.cn/paper.aspx?f=SimpleSearch&q='; 
                    alert(json);
                    var obj;
                    eval("obj=" + json + ";")
                    $('#test1').html(obj.responseData.results[0].GsearchResultClass);             
                   });  
            },'json');
            </script>
        </head>
        <body>
            <div id="test1">111</div>
        </