I've been trying to get this working for a good amount of time but I can't seem to get my head around it.
I'm trying to login using jquery mobile calling an ASP.net webservice. The webservice is working normally and can be used. When using the debugger web page it results like this: (true)
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<boolean xmlns="http://tempuri.org/">true</boolean>
I don't believe there's something wrong with my service so here's my page code:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="res/js/jquery.min.js" type="text/javascript"></script>
<script src="res/js/mobile/jquery.mobile-1.3.0.min.js" type="text/javascript"></script>
<link href="res/js/mobile/jquery.mobile-1.3.0.min.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(document).ready(function () {
$("#submit").click(function () {
$.ajax({
type: "POST",
url: "http://localhost/as400/services.asmx/Login",
data: "{ user: " + $('#usr').val() + ", password: " + $('#psw').val() + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg.d);
},
error: function () {
alert("error!");
}
});
});
});
</script>
<style>
.ui-page { background: White;}
</style>
</head>
<body>
<div data-role="page" id="login">
<div data-role="header" data-position="fixed"><h1>Login</h1></div>
<div data-role="content">
<img src="res/img/logo.gif" style="display: block;margin: 1em auto 0;width: 75%;" />
<form id="login_form" name="login_form" data-ajax="false">
<input type="text" name="usr" id="usr" value="" placeholder="user"/>
<input type="password" name="psw" id="psw" value="" placeholder="password"/>
<input type="submit" value="Login" id="submit" name="login"/>
<label><input type="checkbox" name="remember_me" id="remember_me" value="checked_remember"/>Remember me!</label>
</form>
</div>
<div data-role="footer" data-position="fixed"><h2>Footer</h2></div>
</div>
</body>
</html>
Webservice code:
Imports connection
Imports System.Data
Imports System.Web
Imports System.Web.Script
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Web.Script.Services
Imports System.Collections.Generic
Imports System.Web.Script.Serialization
' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
<System.Web.Script.Services.ScriptService()> _
<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(Name:="services", ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class services
Inherits System.Web.Services.WebService
Public connection As New connection
<WebMethod()> _
<SoapDocumentMethod(Binding:="services")> _
<SoapHeader("connection")> _
Public Function Execute(sql As String, type As Operation) As Result
Dim r As New Result
Select Case type
Case Operation.SelectMultipleRows
Try
r.Data = connection.Execute(sql, type)
Catch ex As Exception
r.ErrorMessage = ex.Message
r.SQL = sql
End Try
End Select
Return r
End Function
<WebMethod()> _
<SoapDocumentMethod(Binding:="services")> _
<SoapHeader("connection")> _
Public Function Login(user As String, password As String) As Boolean
Return connection.Login(user, password)
End Function
End Class
I get an alert "error" but I don't know why... I've put the webservice in debug and it runs through fine but it seems like the jquery post is getting error before the service has being processed..?
Maybe I'm doing something wrong here?
Please help me!
Thx
Stanny