0

我正在使用 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>

在我的脚本中,当我给出“alert("yes");”时的成功部分 它警报为是,但是当我尝试检索实际数据,即用户 ID、角色 ID 时,它显示空白数据。

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

请帮帮我。提前致谢。

4

1 回答 1

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>

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

但现在它在浏览器上运行,但在安卓手机上,它总是进入错误部分并警告“糟糕!出了点问题!”。我不知道发生了什么!!!!

于 2016-05-28T07:41:54.807 回答