Ajax响应不会出现在成功函数中 - jquery mobile

时间:2015-12-19 05:53:02

标签: javascript ajax cordova jquery-mobile

我正在尝试使用jquery mobile中的用户名和密码字段的简单登录表单。用户名和密码应该从ajax页面验证。在我的系统中,我能够完美地得到回应。将我的代码转换为.apk uging phonegap时,我的手机无法接收来自ajax页面的响应。成功函数内的任何代码都不起作用,直接进入错误函数。我究竟做错了什么?

    $(document).on('pagebeforeshow', '#login', function(){
        $(document).on('click', '#submit', function() {
        if($('#username').val().length > 0 && $('#password').val().length > 0){
            $.ajax({
                url : 'liveurl/check.php',
                data: {action : 'login', formData : $('#check-user').serialize()}, 
                type: 'post',
                beforeSend: function() {
                     $.mobile.loading(true);                 },
                complete: function() {
                     $.mobile.loading(false); 
                },
                success: function (result) {
                   if(result.status == "success"){  
                        resultObject.formSubmitionResult = result.uname;
                        localStorage["login_details"] = window.JSON.stringify(result);
                        $.mobile.changePage("#second");
                }else{
                        $.mobile.changePage("#login");
                        alert("incorrect login");           
                }
                    },
                    error: function (request,error) {
                        alert(error);    
                    }
                });                   
        } else {
            alert('Fill all nececery fields');
        }           
            return false;
        });
});

1 个答案:

答案 0 :(得分:0)

两点:

  1. 您的APK未在您的服务器上运行。这意味着,你的网址是错误的,它必须是:
  2.   

    url:“http://www.your_server.com/liveurl/check.php

    1. 您必须将每个外部网址列入白名单,请阅读以下文档:
    2. http://cordova.apache.org/docs/en/dev/guide/appdev/whitelist/index.html