如何将JSON数据作为URL字符串发布到外部URL(跨域)并绕过访问控制?将JSON数据发布到外部URL
这里是一个jQuery阿贾克斯POST请求将无法工作发送给因外部URL访问控制允许来源:
var json = JSON.stringify(object);
$.ajax({
type: 'POST',
url: externalurl,
data: json,
dataType: 'json',
success: function(data){console.log(data);},
failure: function(errMsg) {
console.log(errMsg);
},
});
我收到了一个建议,POST数据到相同的域名,并将“请求传递给”外部域名,尽管此解决方案对我来说没有意义。我正在寻找最安全的解决方案。任何帮助将非常感激。
您是否尝试过使用JSON-P?我相信在jQuery中,您使用'jsonp'而不是'json'来处理数据类型,但我不是100%确定的... – 2013-04-05 00:34:49
当您说'传递请求'解决方案对于你的意思只是你不理解它,希望得到解释,或者你明白它,但认为它不适合你目前的情况? @MarkOrmston - JSONP确实可以解决域问题,但只有在设置了外部域来处理它并提供适当的解决方案时,它才会起作用。 – nnnnnn 2013-04-05 00:37:24
是的,它不适合在这种情况下,数据必须作为json发送。我也无法控制外部服务器,因此CORS也不是一个可行的解决方案。 – jverban 2013-04-05 00:39:40