如何使用WhateverOrigin绕过同域策略

时间:2014-03-18 04:46:02

标签: javascript

我去了whateverorigin.com生成这行javascript:

$.getJSON('http://whateverorigin.org/get?url=' +
  encodeURIComponent('http://google.com') + 
  '&callback=?', function(data){ alert(data.contents); });

我把它放在我之前使用的XMLHttpRequest的位置,没有任何反应。 Chrome说我有一个未捕获的参考错误:jQuery110201568311753217131_1395117728011未定义。我一定不能正确设置一切,除了在我的JavaScript中添加相关网址之外还需要做什么?

1 个答案:

答案 0 :(得分:1)

问题是Chrome扩展程序拥有自己的沙盒全局变量,因此JSONP请求使用的全局回调函数在使用Chrome扩展程序时无效。

有关详细信息,请参阅JSONP request in chrome extension, callback function doesn't exist?JSONP communication in a Google Chrome extension以及Using jQuery.getJSON in Chrome Extension。这个问题可能就是那个问题。

如果您在Google上搜索“JSONP Chrome扩展程序”,根据具体情况,您可以通过多种不同的解决方案找到许多关于此问题的讨论。