使用jQuery的Ajax POST请求,Cordova失败了

时间:2015-05-25 13:23:39

标签: jquery ajax cordova cross-domain

我正在尝试使用jQuery在我的Cordova应用程序中设置登录屏幕。 我的REST api使用ExpressJS。 我可以通过移动浏览器访问我的Web应用程序。 但是,当我从Cordova应用程序尝试相同的登录表单时,它无法正常工作。

基本上问题是我无法将登录表单的结果发布到我的后端。

我的ajax代码是:

$.ajax({
        url: "http://192.168.2.23:3000/login", 
        type: 'POST', 
        contentType: 'application/json',
        crossDomain: true, 
        data: JSON.stringify({"u": "test", "p": "test"}),
        success: function(data) {
            var backendData = JSON.parse(data);

            if (backendData["UserFound"]) {
                loggedInPerson = backendData;
                delete loggedInPerson["UserFound"];
            }
        },
        error: function(e) {
            alert('Error: ' + e.message);
        }
    });

有人能帮助我吗?

Thnx提前。

2 个答案:

答案 0 :(得分:1)

对于所有寻找答案的人...... 我必须在index.html文件中编辑内容安全策略并添加此

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; connect-src *">

AJAX调用需要 connect-src *

答案 1 :(得分:0)

您可以进行以下更改吗?

- Add dataType: 'json' and modify this contentType: "application/json;" to contentType: "application/json; charset=utf-8" in your ajax request to the server.
相关问题