如何禁用跨域限制

时间:2010-09-28 10:53:36

标签: javascript ajax cross-domain

我提供的Web服务将数据作为JSON对象返回。问题是用Ajax,Ajax无法调用跨域url。是否可以禁用它?

2 个答案:

答案 0 :(得分:4)

您无法禁用它,但您可以通过接受JSONP - 请求来解决问题。

答案 1 :(得分:0)

如果您可以控制其他服务器响应的内容,请使用JSONP。 JSONP必须返回符合javascript的脚本。 (var hi = {json = stuff};)

客户端HTML示例:

// This is our function to be called with JSON data
function showPrice(data) { 
    alert("Symbol: " + data.symbol + ", Price: " + data.price);
}
var url = “ticker.js”; // URL of the external script
// this shows dynamic script insertion
var script = document.createElement('script');
script.setAttribute('src', url);

// load the script
document.getElementsByTagName('head')[0].appendChild(script); 

在这种情况下,“ticket.js”网址包含以下内容:

var data = {symbol: 'Hi', price: 91.42};

可能性二是你创建一个代理外部JSON源的本地(php,perl,ruby,无论你使用什么)脚本。