使用PhoneGap构建APK后,ajax调用失败

时间:2015-05-12 15:48:11

标签: ajax cordova

我正在尝试在使用phonegap后运行我的应用程序,但未能通过AJAX代码部分 它在Ripple模拟器上完美地工作但是在我的设备上安装它(android 5.0)后,ajax调用失败了(获取ErrMSG)。 谢谢 这是我正在使用的代码:

 $.ajax({
                            type: "POST",
                            url: "LogIn.aspx/UserCheck",
                                data: "{'UserName':'" + UserName + "','Password':'" + Password + "'}",
                            contentType: "application/json",                       
                            dataType: "json",
                            success: function (msg) {
                                if (msg.d == true) {
                                    window.location.href = "Default.aspx";
                                }
                                else
                                    alert("please insert correct username and password");
                            },
                            error: function (xhr, textStatus, errorThrown) {
                                    alert('Ajax Call Failed');
                        }
                        });

2 个答案:

答案 0 :(得分:0)

看起来您的ajax调用正在本地Web服务器上调用。由于您现在没有在本地Web服务器上运行,因此您需要调整ajax调用以获取完整的URL。你有两个地方(至少在你提供的代码中):

url: "LogIn.aspx/UserCheck"

window.location.href = "Default.aspx";

最后一段代码确实需要是您应用中的页面或代码块。这样,如果手机由于某种原因未连接到互联网,您仍然可以向用户提供有效的错误消息。

完成此操作后,您需要在自己的应用中whitelist使用自己的域名。

答案 1 :(得分:0)

  1. 部署到手机后,您将对您的aspx进行跨域调用。所以你还需要启用Cors。

  2. 为什么登录后会重定向到default.aspx?如果您从位于手机中的原始index.html重定向到IIS服务器中的default.aspx,您失去了对手机应用程序的控制权,所有插件都无法正常工作,就像您的应用程序成为移动设备一样浏览器。

  3. btw,你在aspx中使用vb还是c#?