我正在尝试从不同的域访问 URL,例如 www.url-one.com,它仅提供 JSON 文件,无法提供JSONP 文件。这对我使用 JQuery 的 ajax() 函数不起作用。
这是我的代码:
$.ajax({
url : 'http://url-two.com'+sample,
async : false,
dataType : 'jsonp',
crossDomain: true,
success : function(data) {
// Some Other Code
}
}
如何在不依赖 JSONP 的情况下解决同源策略? 提前致谢 - 我在代理问题上遇到了重大问题,但我听说这是可能的。
最佳答案
有很多方法可以做到这一点,下面我将提到 3 个我自己过去使用过的方法。
最常见的是使用 Cross-Origin Resource Sharing (CORS).
基本上,托管 json 文件的服务器(我们称之为 server1)需要正确设置 Access-Control-Allow-Origin
header 以允许其他服务器(我们称之为 server2)来访问它。
如果您不想或无法使用 CORS,您可以执行以下 2 项操作之一:
1:在server2上使用重写规则将特定路径的流量从server2重定向到server1。
2:在 server2 上使用服务器端代理来获取 json 文件。
设置这些内容完全取决于您的服务器设置,我无法帮助您。
关于javascript - JQuery - 跨域 Ajax 调用 JSON 文件而不使用 JSONP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17623518/