我想在我的页面上用jquery里的ajax调用www.ip.net/getid.php的获取ip归属地的功能。
已知:在浏览器中输入http://www.ip.cn/getip.php?action=queryip&ip_url=125.40.186.15后,浏览器显示出IP归属地。信息如下:
您查询的IP是:125.40.186.15  来自:河南省新乡市 联通我用$.ajax({
        type: 'get',
        url: "http://www.ip.cn/getip.php?action=queryip&ip_url=125.40.186.15",
dataType: 'jsonp',
jsonp: 'callback',
        beforeSend: function(){
            
        },
        success: function(ipdata){
            alert(ipdata);
        },
        error: function(){
            $("#wanming2").html('failed');
        }
    });
出不来结果,望赐教!firebug里已经返回了正常的数据,但是提示错误illegal character,结果不给弹出,大家帮帮我!

解决方案 »

  1.   

    如果请求的页面http头有 Access-Control-Allow-Origin:* ,对高版本浏览器可使用XDomainRequest对象。否则就只能通过服务器代理或Flash方式了.
      

  2.   

    楼主你的这里有点问题,dataType: 'jsonp',应该是dataType: 'json'`` 
      

  3.   

    楼主一般的情况下是不可以直接这样传值的,不能用明文,这样的话非常的不安全,要不你加密,要不你放到cookie或者seesion中传过去,再在另一个页面去接收
      

  4.   

    那请问用代理的话该咋做呢,我是菜鸟,给个超简单的例子就行!我用iframe 也不能跨域,超级郁闷。
      

  5.   

    jsonp不是这样用的
    这种情况只能用后台获取
      

  6.   

    $.get("http://www.ip.cn/getip.php",{action:"queryip",ip_url:"125.40.186.15"},function(ipdata){alert(ipdata);});
      

  7.   


    <iframe id='ips' src=""></iframe>
    <input type="text" id='txt' onblur='searchIP(this, "ips")' />
    <script language="javascript">
    function searchIP(obj, id) {
    var _ip = obj.value.trim();
    if(_ip) {
    $(id).src = 'http://www.ip.cn/getip.php?action=queryip&ip_url=' + _ip;
    }
    }
    </script>
    在页面生成一个iframe,src为"http://www.ip.cn/getip.php?action=queryip&ip_url=125.40.186.15";每次查询的时候都更新iframe的src。