<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="jquery-1.12.0.min.js"></script>
<script src="Lash.js"></script>
</head>
<body>
first name <input id="txtFirstname" type="text" /><br />
last name <input id="txtLastname" type="text" /><br />
E-mail <input id="txtEmail" type="text" /><br />
password <input id="txtPassword" type="password" /><br />
<input id="btnRegister" type="button" value="Register" /><br />
</body>
</html>
/// <reference path="jquery-1.12.0.min.js" />
$(document).ready(function () {
$("#btnRegister").click(function () {
Register();
});
function Register() {
var obj = { Firstname: $("#txtFirstname").val(), Lastname: $("#txtLastname").val(), Email: $("#txtEmail").val(), Password: $("#txtPassword").val() };
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "http://localhost:7910/WebService.asmx/Registering",
data:JSON.stringify(obj),
datatype: "json",
success: function (data) {
alert("Successfully register");
},
error: function (data) {
alert("error");
}
});
}
});
[WebMethod]
public string Registering(string user3gmail, string pass3, string name3, string nickname3, string birth)
{
return "{\"registerPachage\":{\"Id\":26}}";
}
我是Ajax Jquery的初学者,我正在锻炼以提高我对它的了解。我的问题是当我点击#btnRegister它的打印错误而不是成功消息。我认为我在ajax上传递的参数存在问题,但我不知道它是什么。
答案 0 :(得分:2)
我认为你必须传递与代码隐藏方法相同的参数名称。 见下面的代码:
var obj = { user3gmail: 'test1', pass3: 'test1', name3: 'test1', nickname3: 'test1', birth: '232' };
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Home/Registering",
data: JSON.stringify(obj),
datatype: "json",
success: function (data) {
alert("Successfully register");
},
error: function (data) {
alert("error");
}
});
public string Registering(string user3gmail, string pass3, string name3, string nickname3, string birth)
{
return "{\"registerPachage\":{\"Id\":26}}";
}
我认为这会有所帮助
答案 1 :(得分:1)
您正在发送具有多个属性的单个对象。注册方法当前需要多个参数(名称与发送的属性不同)。它应该有一个带有提供属性的参数 - 名字,姓氏,电子邮件和密码。
public class RegisterInfo
{
public string Lastname {get;set;}
public string Firstname {get;set;}
public string Password {get;set;}
public string Email {get;set;}
}
然后注册方法看起来像......
public string Registering(RegisterInfo register)
{
return "{\"registerPachage\":{\"Id\":26}}";
}
答案 2 :(得分:0)
你可以简单地传递这些参数,
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "http://localhost:7910/WebService.asmx/Registering",
data: "user3gmail=" + $("#txtEmail").val() + "&pass3="+$("#txtPassword").val(),
datatype: "json",
success: function (data) {
alert("Successfully register");
},
error: function (data) {
alert("error");
}
})
这里我只添加了3个参数, 但你可以添加更多。