2010-04-12 74 views
0
$.ajax({ 
    type: "POST", 
    url: "WebService.asmx/AddVisitor", 
    data: "{'fname':'dave', 'lname':'ward'}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json" 
}); 


我有一个Asp.Net的WebMethod,需要一个名字,姓氏.....作为一个参数,送东西的方法我怎么这些东西发到方法使用JQuery Ajax方法。如果我硬编码它上面的工作没有任何问题

但如果我通过动态失败
我怎么使用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.Sc ript.Services.ScriptService]
公共类VisitorWS:System.Web.Services.WebService {
[的WebMethod]
公共BOOL AddVisitor(串名字,串的lastName)
{
返回真;
}


什么错在这里?我已经尝试过eval并且没有任何作品可以逃脱。

感谢您的帮助。

回答

0

我想通了,这里它没有添加scriptmethod它的作品。

var myData = { 
    "firstName": escape($('#txtFirstName').val()), 
    "lastName": escape($('#txtLastName').val()) 
}; 

$.ajax({ 
    // ... 
    data: JSON.stringify(myData), 
    // ... 
}); 
0

从我能告诉你的代码设置数据看起来很好。问题必须是获取名字和姓氏的值。你有没有尝试在获得它们后在警报中显示值,只是为了确保它们具有值?

在可能无关的纸条,你可能有兴趣这篇文章关于选择的方法,你用...

http://encosia.com/2009/06/09/11-keystrokes-that-made-my-jquery-selector-run-10x-faster/

希望这有助于!

+0

我警惕地检查,看看什么样的价值我得到和它得到我很稀化它与字符串,而不是通过 这个来做我已经进入任何价值... 是一个测试VS“这是一个测试'?也许? – 2010-04-12 20:37:17

+0

然后尝试... var d =“{'firstname':'”+ escape(firstName.val())+“','lastName':'”+ escape(lastName.val())+“ “}“; 警报(d); ...看看你是否得到你所期望的。 – Peter 2010-04-13 12:34:03

0

我不再使用WebService的东西,但是您是否也有[ScriptMethod]属性?

一定要检查FireBug,看看实际返回的错误是什么。可能是404这是一个非常不同的问题。

+0

[WebService(Namespace =“http://tempuri.org/”)] [WebServiceBinding(ConformsTo = WsiProfiles。BasicProfile1_1)
[的ToolboxItem(假)
[System.Web.Script.Services.ScriptService]
公共类VisitorWS:System.Web.Services.WebService {
这是我在我的web服务页。我错过了什么?
ps:在我的工作是有限制下载任何软件,所以我们只能使用IE – 2010-04-12 20:23:05

+0

我认为ScriptMethod意味着你要返回JSON。 – Peter 2010-04-12 20:32:12

+0

我已经添加了scriptmethod,但没有运气 - 除非我没有做正确的方式。 [WebMethod] [ScriptMethod] public bool AddVisitor(string firstName,string lastName) { return true; } – 2010-04-12 20:34:05