我在做一个Ajax。请求一个远程PHP服务器在Sencha Touch 2应用程序(包装在PhoneGap)。
服务器的响应如下:
XMLHttpRequest无法加载http://nqatalog.negroesquisso.pt/login.php。Access-Control-Allow-Origin不允许Origin http://localhost:8888。
我该如何解决这个问题?
我在做一个Ajax。请求一个远程PHP服务器在Sencha Touch 2应用程序(包装在PhoneGap)。
服务器的响应如下:
XMLHttpRequest无法加载http://nqatalog.negroesquisso.pt/login.php。Access-Control-Allow-Origin不允许Origin http://localhost:8888。
我该如何解决这个问题?
当前回答
我们也有同样的问题,phonegap应用程序在chrome测试。 在打开Chrome之前,我们每天使用下面的批处理文件。 记住在运行这个之前,你需要从任务管理器中清除所有的chrome实例,或者你可以选择chrome不运行在后台。
BATCH:(使用cmd)
cd D:\Program Files (x86)\Google\Chrome\Application\chrome.exe --disable-web-security
其他回答
如果你在Angular.js中得到这个,那么确保你像这样转义你的端口号:
var Project = $resource(
'http://localhost\\:5648/api/...', {'a':'b'}, {
update: { method: 'PUT' }
}
);
更多信息请看这里。
这可能对任何需要为引用器的'www'和'非www'版本提供异常的人来说都很方便:
$referrer = $_SERVER['HTTP_REFERER'];
$parts = parse_url($referrer);
$domain = $parts['host'];
if($domain == 'google.com')
{
header('Access-Control-Allow-Origin: http://google.com');
}
else if($domain == 'www.google.com')
{
header('Access-Control-Allow-Origin: http://www.google.com');
}
如果你有ASP。Net / asp。NET MVC应用程序,您可以通过Web包含此头文件。配置文件:
<system.webServer>
...
<httpProtocol>
<customHeaders>
<!-- Enable Cross Domain AJAX calls -->
<remove name="Access-Control-Allow-Origin" />
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
我们也有同样的问题,phonegap应用程序在chrome测试。 在打开Chrome之前,我们每天使用下面的批处理文件。 记住在运行这个之前,你需要从任务管理器中清除所有的chrome实例,或者你可以选择chrome不运行在后台。
BATCH:(使用cmd)
cd D:\Program Files (x86)\Google\Chrome\Application\chrome.exe --disable-web-security
露比·辛纳屈
response['Access-Control-Allow-Origin'] = '*'
对每个人来说
response['Access-Control-Allow-Origin'] = 'http://yourdomain.name'