我正在尝试对外部站点(我无法控制)进行JSON调用,以便检索价格表。这是一个简单的电话:
$.ajax({
url: 'http://www.external-site.com',
type: 'GET',
contentType: 'application/json',
dataType: 'jsonp',
data: {SelectedObjectId:"742",DeliveryOptionId:"2",CountryId:"4",SelectedExtensionId:"-1"},
success: function(response) { console.log('succes: ' + response); },
error: function(response) { console.log('error: ' + response); }
});
当我查看Chrome开发者工具时,我会看到一个回复,其中包含我期望的所有信息。但是,不会返回'succes'状态,而是执行'error'函数,当我记录响应时,我最终得到的对象似乎与我在开发人员工具中看到的json响应不一样。如何检索和使用开发人员工具中显示的响应?我对ajax调用缺乏经验,并做了很多搜索和尝试不同的事情,但没有一个在这个特殊情况下工作。
编辑:我删除了JSfiddle和外部网站的链接,以防止他们的服务器上的潜在压力。
答案 0 :(得分:0)
感谢上面的Arun P Johny的评论,我能够通过在我的服务器上向一个简单的proxy.php发出ajax请求来解决这个问题,然后取出外部站点并返回我需要的数据。
我使用本教程介绍了如何进行设置:http://blog.edwards-research.com/2012/10/cross-domain-ajax-a-simple-workaround/