我目前正在尝试使用jQuery Ajax,但有一个小问题,并会很高兴收到一点帮助!Jquery ajax插入语句
我想用jquery ajax和web服务将数据插入到数据库中。
我的HTML看起来像这样:
$(document).ready(function() {
$("#loadingPanel").hide();
$("#submitBtn").click(function() {
var fName = $("#fnameTextBox").val();
var lName = $("#lnameTextBox").val();
var Age = $("#ageTextBox.ClientID").val();
$("#loadingPanel").show();
$.ajax({
url: "demoService.asmx/addInfo",
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
"fName": fName,
"lName": lName,
"Age": Age
}),
success: function(data) {
if (data.d == "success") {
alert("Data saved");
var firstName = $('#').val('');
var lastName = $('#').val('');
var age = $('#').val('');
}
},
error: function(xhr, ajaxOptions, thrownError) {
alert(thrownError);
}
}).done(function() {
$("#loadingPanel").hide();
});
});
});
First Name | |
Last Name | |
Age | |
Data saving...
|
这样
[WebMethod]
public string addInfo(string fName, string lName, int Age)
{
string status = "";
infoTable info = new infoTable {FirstName = fName, LastName = lName, age = Age };
using(demoDBEntities demoEntity = new demoDBEntities())
{
demoEntity.infoTable.Add(info);
demoEntity.SaveChanges();
status = "success";
}
return status;
}
我的web服务当我按下提交按钮和内部服务器错误发生时,当我看到内部异常,它说虽然我在文本框中输入了namne,但没有提供参数fName。请帮忙吗?
错误:
System.InvalidOperationException: missing parameter: fName.
System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection)
System.Web.Services.Protocols.UrlParameterReader.Read(HttpRequest request)
System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
+0
请不要在评论中发布代码转储... [编辑]问题并在那里更新... –
2014-10-12 09:22:43
+0
尝试清除你的包装'JSON.stringify({})'围绕你的参数,只留下参数声明。 –
2014-10-12 09:26:32
+0
你有没有在asmx中使用'[System.Web.Script.Services.ScriptService]'来启用js访问web服务? –
2014-10-12 09:28:52