Cordova Ajax请求待定

时间:2016-12-21 04:52:38

标签: javascript android jquery ajax cordova

嗨,我在这里遇到了很多问题。我有一个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标题,但这不应该是问题。

  • 尼克

1 个答案:

答案 0 :(得分:1)

正如你所说,在将其更新为新版本的cordova之前它工作正常

然后你可以用下面的命令降级它,检查一切是否正常工作。

$ sudo npm install -g cordova@6.2.0

如果问题仍然存在,那么您的ajax调用或者您需要通过postman检查API并检查其是否正常工作存在问题。