我正在使用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作为文本时,它有同样的反应。
请帮帮我。提前致谢。
答案 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;。我不知道发生了什么!!!!