你这其实等于是链接一个js文件,而代码只有 {xx:xxx} 对象,会报错的。
应该返回 var a = {.....} 之类的

解决方案 »

  1.   

    看地址是否支持jsonp,不支持就需要自己做代理页面了
      

  2.   


    是jsonp的,自己做代理这个方法我试过,用JSP做的,但有问题,页面的登陆状态带不过去,登陆后用JS发送这个请求能正常返回数据,但存在跨域拒绝访问问题,但用JSP做,返回来的数据是要求登陆,就是说从服务端发送请求对方不认页面上的登陆状态,怎么办呢
    登陆也一样,用JS发送POST数据过去能成功返回登陆成功数据并且页面处于登陆状态,但用JSP发送POST数据过去能成功返回登陆成功数据但。页面没有处于登陆状态。
    求解
    jsonp不会用。。求实例
      

  3.   

    <script src = 这样加载的是js文件,返回来的必须是符合js格式和语法的东东。返回的是 {} ,这个不是完整的js语句,所以会报js错误。导致无法使用。所以呢,如果能修改返回值的话,可以返回 var  a = {} ;
    然后  a 就是返回的数据可以使用了。或者返回 callback ({});页面里需要定义 function callback (json) 
    {}返回来之后,就会调用这个函数。
    如果使用的是chrome,或者IE10,+ ,那么可以使用cors来实现跨域,这个很方便,jQuery直接支持。如果是IE8、9的话,不直接支持,要换成 …… 忘记叫啥名了。
      

  4.   


    第一,对方网站不是我控制的,
    第二,对方网站是返回callback的,但我取不到。。
    请教
      

  5.   

    js用xmlhttp我能取到数据的,但在TOMCAT上就跨域拒绝访问,用JSP么登陆状态不对,返回来的数据是要求登陆。。
      

  6.   


    是jsonp的,自己做代理这个方法我试过,用JSP做的,但有问题,页面的登陆状态带不过去,登陆后用JS发送这个请求能正常返回数据,但存在跨域拒绝访问问题,但用JSP做,返回来的数据是要求登陆,就是说从服务端发送请求对方不认页面上的登陆状态,怎么办呢
    登陆也一样,用JS发送POST数据过去能成功返回登陆成功数据并且页面处于登陆状态,但用JSP发送POST数据过去能成功返回登陆成功数据但。页面没有处于登陆状态。
    求解
    jsonp不会用。。求实例返回的是json,不是jsonp,jsonp和json可不是一样的概念。。jsonp是要返回可以执行的js代码,jsonp一般格式:函数名称(需要的数据)如果要登陆才能获取,这个就比较麻烦了,你要先用jsp的xhr对象发送登陆信息到他们的登陆接口,然后保留cookie信息,下次发送xhr请求时要附带上登陆成功返回的cookie信息才行。。java不知道,自己找相关的模拟登陆来看
      

  7.   

    对方返回callback,那就好吧了,用jQuery很简单。
     $.ajax({
                type: "get",
                dataType: "JSONP",
                cache: false,
                url: "访问的地址",  
                data: {"key1":"value1","key2":"value2"},
                //timeout: 2000,
                error: function (request, textStatus, errorThrown) { //访问失败,并且给出提示
                    alert("提交" + ajaxInfo.title + "的时候发生错误!");            },            success: function (data) {
    //data 就是返回的json
                }
            });
      

  8.   

    既然对方网站支持jsonp,你在请求里加上回调函数就行了,我看你发起的请求里面貌似没有回调函数
    这样的话光返回json是会报错的
      

  9.   

    jsonp<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
    transitional.dtd">
    <html>    
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
            <title>
                xxx
            </title>
             <script type="text/javascript" src="http://www.w3school.com.cn/jquery/jquery-1.11.1.min.js">
            </script>
            <script type="text/javascript">
                jQuery(document).ready(function() {
                    $.ajax({
                        type: "get",
                        async: false,
                        data: {                        
                        },                    
          url: "http://whois.pconline.com.cn/ipJson.jsp",
                        dataType: "jsonp",
                        jsonp: "callback",
                        success: function(json) {       
        for(var e in json){
                            document.write(e + "--->" + json[e]+"<br/>");  
             }                      
                             
                        },
                        error: function(XMLHttpRequest, textStatus, errorThrown) {
                            alert(XMLHttpRequest.status);
                            alert(XMLHttpRequest.readyState);
                            alert(textStatus);
                        }                });            });
            </script>
        </head>
        
        <body>
          
        </body></html>