【发布时间】:2016-02-10 00:03:54
【问题描述】:
这把我逼疯了!出于某种原因,JSConsole.com 不能用于调试,因此它证明了一个真正的 PITA 来调试。我正在使用 PhoneGap Build 来创建我的应用程序(WebView 应用程序)。这一切以前都很好 - 但由于某种原因它停止了工作。不久前,我们转移到了一个 Nginx 服务器 - 看起来 CORS 的东西设置不正确。但是,我让它返回以下标题:
Access-Control-Allow-Meth...
GET, POST, OPTIONS
Content-Type
application/json
Date
Tue, 09 Feb 2016 15:30:32 GMT
Server
nginx/1.9.5
X-Firefox-Spdy
h2
access-control-allow-cred...
true
access-control-allow-head...
DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Ty
pe
access-control-allow-orig...
*
...但它仍然不起作用。
alert("before grab");
$.getJSON('https://exmple.net/cgi-bin/daily.cgi', { action: 'cat-list', u: device_id, t: device_type }, function(result) {
alert("in here 1");
});
应用程序中的第一个警报很好,但第二个没有(这让我认为 CORS 的东西由于某种原因无法正常工作)。
Cordova 和 CORS 是否存在任何已知问题?我 100% 确定它曾经可以工作 - 但我不确定是服务器移动导致了这个问题,还是升级到了更高版本的 Cordova。
谢谢!
更新: 只是为了确认它不请求 daily.cgi,我在其中添加了一些调试(以便它在请求时在服务器上写入日志)。正如预期的那样,从浏览器调用时它可以正常工作 - 但从 Android 应用程序调用时就不行了!
【问题讨论】: