$.ajax({
type: "POST",
url: "WebService.asmx/AddVisitor",
data: "{'fname':'dave', 'lname':'ward'}",
contentType: "application/json; charset=utf-8",
dataType: "json"
});
我有一个Asp.Net WebMethod,它接受firstName,lastName .....作为参数,如何使用JQuery Ajax方法将该东西发送到该方法。如果我硬编码以上它没有任何问题
但如果我通过动态它失败了
var firstName = $("[id$='txtFirstName']");
var lastName = $("[id$='txtLastName']");
//data: "{'firstName':'Chris','lastName':'Brandsma'}"<br>
data: "{'firstname':'" + escape(firstName.val()) + "','lastName':'" + escape(lastName.val()) + "'}",
我的WebMethod看起来像这样
[WebService(Namespace =“http://tempuri.org/”)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class VisitorWS:System.Web.Services.WebService {
[的WebMethod]
public bool AddVisitor(string firstName,string lastName)
{
返回true;
}
这里有什么不对?我已经尝试过eval并且没有任何改变
谢谢你的帮助。
答案 0 :(得分:0)
从我可以告诉你的代码来设置数据看起来很好。问题必须是获取名字和姓氏的值。您是否尝试在获取后显示警报中的值,以确保它们具有值?
关于可能不相关的说明,您可能对本文中关于您正在使用的选择方法感兴趣...
http://encosia.com/2009/06/09/11-keystrokes-that-made-my-jquery-selector-run-10x-faster/
希望这有帮助!
答案 1 :(得分:0)
我不再使用WebService了,但你也有[ScriptMethod]属性吗?
请务必检查FireBug以查看返回的实际错误。可能是404这是一个非常不同的问题。
答案 2 :(得分:0)
我已经想通了,而且这里没有添加脚本方法。
var myData = {
"firstName": escape($('#txtFirstName').val()),
"lastName": escape($('#txtLastName').val())
};
$.ajax({
// ...
data: JSON.stringify(myData),
// ...
});