Phonegap android ajax调用在浏览器中工作,而不是在移动设备上

时间:2017-02-01 08:51:35

标签: javascript android jquery ajax cordova

我需要一些phonagap / cordova应用程序的帮助,它非常基本,但我无法将我的ajax调用到我的手机服务器,一切正常在浏览器中运行。请注意我使用phonegap的在线构建器来编译我的代码。

我尝试了以下所有方法:

  • $ .support.cors = true。
  • access origin =“*”
  • allow-intent href =“*”
  • allow-navigation href =“*”

现在我看了白名单,但由于某些原因它在添加时打破了我的配置文件,然后我尝试了传统的白名单,然后我就无法通过phonegap在线构建它。

我的ajax方法:

$("#btnTest").click(function (evt) {
        var value = "";
        var options = {};
        options.url = "http://*/MobileService/ServiceFile.asmx/test";
        options.type = "POST";
        options.data = JSON.stringify({ "data": value });
        options.dataType = "json";
        options.crossDomain = true;
        options.contentType = "application/json";
        options.success = function (result) { $("#error-msg").text(result.d); };
        options.error = function (err) { $("#error-msg").text("Error saving the data!"); };
        console.log(value);
        $.ajax(options);
        evt.preventDefault();
    });

我的index.html头标记:

<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>MobileApp</title>
<meta name="viewport" content="width=device-width, initial-scale=1">   
<link href="css/jquery.mobile-1.4.5.min.css" rel="stylesheet" />
<script src="scripts/jquery-2.2.0.min.js"></script>
<script type="text/javascript">
$(document).bind("mobileinit", function () {
    $.support.cors = true;
    $.mobile.allowCrossDomainPages = true;
});
</script>
<script src="scripts/jquery.mobile-1.4.5.min.js"></script>
<script src="scripts/jSignature/jSignature.min.js"></script>
<link href="css/index.css" rel="stylesheet" />

另请注意,我正在使用visual studio 2013进行开发。

提前致谢

1 个答案:

答案 0 :(得分:2)

因此,为了回答我自己的问题,我最终找到了白名单插件的旧版本。

只要我将其添加到我的项目中,它就解决了CORS错误。