Phonegap xmlhttprequest不返回xml数据

时间:2016-05-27 10:36:53

标签: javascript cordova xmlhttprequest phonegap-desktop-app

我正在使用phonegap构建混合应用程序。我正在设计登录页面。我已经能够访问网络服务但无法检索详细信息。

以下是我在登录页面中发送http请求的脚本。

<script>
    $(document).ready(function() {
        $("#btnLogin").click(function() {
            $.ajax({    
                url: "http://developer.meritmerge.com/mmapk/mmservice.asmx/MMLogin",
                type: "GET",
                dataType: "html",
                data: { MailID:$("#username").val(),PWD:$("#password").val()},
                success: function(data)
                {
                    alert("yes");
                },
                error: function(err)
                {
                    alert("Oops! Something went wrong!");
                }
            })
        });
    });
</script>

以下是我在浏览器上直接使用url并传递用户名和密码时得到的输出:

<UserDetails xmlns:xsd="http://www.w3.org/2001/XMLSchema" 

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://meritmerge.com/">
<UserID>357</UserID>
<IsAdmin>true</IsAdmin>
<ResponseCode>1</ResponseCode>
<SchoolID>20</SchoolID>
<RoleID>37</RoleID>
<ImageUrl>http://www.meritmerge.com/ClientsLogo/20.png</ImageUrl>
</UserDetails>

在我的剧本中,当我给出“警告(”是“)时,在成功部分;”它警告为是,但是当我尝试检索实际数据,即UserID,RoleID时,它显示空白数据。

我的数据类型是否正确?当我使用dataType作为文本时,它有同样的反应。

请帮帮我。提前致谢。

1 个答案:

答案 0 :(得分:1)

解决了!它正在返回一个对象,只需要访问它的text()。

<script>
        $(document).ready(function() {
            $("#btnLogin").click(function() {
                $.ajax({    
                    url: "http://developer.meritmerge.com/mmapk/mmservice.asmx/MMLogin",
                    type: "GET",
                    dataType: "text",
                    data: { MailID:$("#username").val(),PWD:$("#password").val()},
                    success: function(data)
                    {
                        $response = $(data).find( "ResponseCode" ).text();
                        if($response == 1)
                            {
                                localStorage["userid"] = $(data).find( "UserID" ).text();
                                localStorage["isadmin"] = $(data).find( "IsAdmin" ).text();
                                localStorage["schoolid"] = $(data).find( "SchoolID" ).text();
                                localStorage["schoolname"] = $(data).find( "SchoolName" ).text();
                                localStorage["username"] = $(data).find( "UserName" ).text();
                                localStorage["roleid"] = $(data).find( "RoleID" ).text();
                                localStorage["mailid"] = $(data).find( "MailID" ).text();
                                localStorage["imageurl"] = $(data).find( "ImageUrl" ).text();
                                localStorage["schoolid"] = $(data).find( "StudentID" ).text();
                                alert("Welcome, "+localStorage["schoolname"]);
                                window.location.href = "dashboard.html";
                            }
                        else if($response == -999)
                            {
                                alert("Incorrect Credentials!");
                                $('input[type="text"]#username').val('');
                                $('input[type="password"]#password').val('');
                                $('input[type="text"]#username').focus();
                            }
                    },
                    error: function(err)
                    {
                        alert("Oops! Something went wrong!");
                    }
                })
            });
        });
    </script>

这是我用来获取数据的代码!

但现在它在浏览器上运行,但在Android手机上,它总是会转到错误的部分并警告&#34;哎呀!出了点问题!&#34;。我不知道发生了什么!!!!