嗨,我在这里遇到了很多问题。我有一个cordova应用程序,它工作正常,直到今天早上。我认为它与cordova 6.4.0的新更新有关。
每当我向我的API发送一个AJAX请求时,它就会永远等待。我等了15分钟他们仍然没有回来。我更新了白名单插件,我在config.xml中添加了正确的信息:
<plugin name="cordova-plugin-whitelist" spec="1" />
<allow-navigation href="*" />
<access origin="*" />
还有我的cordova和插件的版本
cordova-plugin-compat 1.1.0 "Compat"
cordova-plugin-file 4.3.0 "File"
cordova-plugin-network-information 1.3.0 "Network Information"
cordova-plugin-whitelist 1.3.1 "Whitelist"
cordova-plugin-x-toast 2.5.2 "Toast"
phonegap-plugin-push 1.8.0 "PushPlugin"
您对如何解决此问题有任何想法吗? 感谢
这是我用来发出Ajax请求的代码。我正在返回Ajax元素,因此我可以附加.done()
或.fail()
函数。
this.get = function($url, $data, $beforeSend) {
/*if($url.indexOf('http') == -1) {
$url = this.URL_API + $url;
}*/
$url = this.URL_API + $url;
if(typeof $data !== 'object') {
this.error('Erreurs de type de donnée.');
} else {
console.log($url);
return $.ajax({
url: $url,
method: 'GET',
data: $data,
beforeSend: function(xhr) {
if(typeof utils.userdata !== "undefined") {
xhr.setRequestHeader('X-API-KEY', utils.userdata.key);
}
xhr.setRequestHeader('Content-Type', 'application/json');
console.log(utils.userdata);
console.log($data);
if($beforeSend !== null && typeof $beforeSend == "function"){
$beforeSend();
}
}
});
}
}
我还在我的请求中添加了一个X-API-KEY标题,但这不应该是问题。
答案 0 :(得分:1)
正如你所说,在将其更新为新版本的cordova之前它工作正常
然后你可以用下面的命令降级它,检查一切是否正常工作。
$ sudo npm install -g cordova@6.2.0
如果问题仍然存在,那么您的ajax调用或者您需要通过postman
检查API并检查其是否正常工作存在问题。