ajax能跨域采集数据吗,使用AJAX使用AJAX跨域数据

我试图从Geobytes获取数据。其中一个模板返回JSON,我需要跨域访问它。使用AJAX使用AJAX跨域数据

我写这2个功能

function getCountry(ip) {

var surl = "http://www.geobytes.com/IpLocator.htm?GetLocation&template=json.txt";

$.ajax({

url: surl,

data: '{"ipaddress":"' + ip + '"}',

dataType: "jsonp",

processData: false,

jsonpCallback: "jsonpcallback",

error: function (xhr, status, error) {

alert(xhr.responseText);

}

});

}

function jsonpcallback(rtndata) {

alert(rtndata.message);

}

成功执行的调用,这些都是我的响应头:

HTTP/1.1 200 OK

Date: Sat, 17 Nov 2012 12:43:54 GMT

Expires: 0

Content-type: text/html

Transfer-Encoding: chunked

返回的数据是JSON,但我得到

warning: Resource interpreted as Script but transferred with MIME type text/html: "http://www.geobytes.com/IpLocator.htm?GetLocation&template=json.txt&callback=jsonpcallback&{%22ipaddress%22:%22200.167.254.166%22}&_=1353148931121"

Error on the remote IpLocator.htm: Uncaught SyntaxError: Unexpected token :

错误发生在返回的数据上

{"geobytes":{"countryid":117,

我想也许是因为它是117而不是“117”,但我显然无法控制返回的数据。试图添加“processData = false”,但没有帮助。

我已经添加了错误处理的AJAX并获得“parsererror”在状态

我怎样才能解决这个问题?

2012-11-17

kooshka

+0

会发生什么如果您跳过ajax调用,并试图在固定字符串上调用$ .parseJSON?换句话说,复制结果,修复“117”问题并查看是否解决了分析错误。这会告诉你,如果这是问题。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值