在android web视图中,Access-Control-Allow-Origin.:1不允许使用null?

5 javascript jquery android cordova

我收到此错误:

XMLHttpRequest cannot load http://192.168.1.33:8080/ws/target. Origin null is not allowed by Access-Control-Allow-Origin.:1
Run Code Online (Sandbox Code Playgroud)

当我试图在webview上加载一个html页面时.我输入这样的脚本标签.

<script src="http://192.168.1.33:8080/target/target-script-min.js#anonymous"></script>
Run Code Online (Sandbox Code Playgroud)

实际上当我尝试在weinre上调试我的代码时出现此错误.你能告诉我如何删除这个错误吗?

有没有办法删除此错误?但是当我制作phonegap项目并使用相同的导入脚本行加载相同的HTML时.

<script src="http://192.168.1.33:8080/target/target-script-min.js#anonymous"></script>
Run Code Online (Sandbox Code Playgroud)

用这条线

我可以在winre上调试我的文件.

你可以告诉我在加载webview时如何删除此错误吗?

Sha*_*ful 10

由于浏览器中的CORS策略,问题正在发生.为了消除错误,您通常必须将更改服务器端更改为您正在使用的任何服务器.你必须添加标题:

Access-Control-Allow-Origin: *

有关如何针对特定后端框架执行此操作的详细信息,请参阅此处.

也就是说,因为你使用cordova,你也可以像这样覆盖浏览器的行为:

if (Build.VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN) {
    wv.getSettings().setAllowUniversalAccessFromFileURLs(true);
}
Run Code Online (Sandbox Code Playgroud)

如果您使用的是webview.如果你不想直接搞乱webview,你也可以设置

<access uri="*" subdomains="true" />

在你的res/xml/cordova.xml.有关详细信息,请参阅此处http://docs.phonegap.com/en/1.9.0/guide_whitelist_index.md.html