Phonegap Ajax CORS请求代理

时间:2016-03-01 21:29:57

标签: javascript ajax cordova proxy cors

我已经看过一千个解决CORS的线程,但没有一个帮助过。我有一个无法发出ajax请求的phonegap应用程序,因为它似乎正在通过代理。 ajax非常简单。

{
TUpdateScreenCursor sc(crHourGlass);
try
    {
    throw Exception("error!");
    }
catch (const Exception& e)
    {
    Application->MessageBox(e.Message.c_str(), _D("Error"), MB_OK);
    }
}

当我$.ajax({ url : base_url + "submit_git", type : "GET", crossDomain: true, data : { firstName: firstName, lastName : lastName, email : email, phone : phone, comments : comments }, dataType : "json" }); 网址时,它会给我正确的网址。当我按下url时,它返回正确的json,没有500错误。当我查看控制台时,我看到我正在使用console.log请求预先添加的网址。在此之后,我返回一个空白页面,并在控制台中出现500错误。所以看起来不知何故,phonegap认为我想要通过这个代理。当我查看phonegap日志时,我看到了

http://192.168.1.109:3000/proxy/

我添加了cordova白名单插件并添加了Proxy error for url: http://correcturl.com/page?query undefined 500 http://correcturl.com/page?query ,但这没有做任何事情。

我添加了

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

这没有做任何事。

我将$.support.cors = true; $.mobile.allowCrossDomainPages = true; 添加到.htaccess,这没有做任何事。

我将ProxyRequests Off添加到我的头上,这没有做任何事。

能够在没有任何问题的情况下对同一台服务器执行jsonp请求。有什么想法吗?

更新1 : 我发现只有在使用<meta http-equiv="Content-Security-Policy" content="connect-src *" />命令并遵循给定的IP时才会发生这种情况。我能够删除所有的phonegap文件,只上传我的html,css和js,请求工作正常。

更新2
好吧,我决定在常规的Web服务器上进行开发和调试。 localhost,然后通过压缩我的www文件夹w / phonegap创建的内容,将我的更改提交到build.phonegap.com。从技术上讲,这不是原始问题的解决方案,但它允许我开发,调试然后在我的手机上进行测试。

0 个答案:

没有答案