2012-07-05 54 views
3

我一直在搜索互聯網的小時,嘗試使用JQUERY $ .ajax將參數傳遞給我的代碼。我已經嘗試了很多不同的東西,但都沒有成功。當我沒有傳遞任何參數並將vb.net函數設置爲不接收參數時,函數將被調用。但是,一旦我嘗試添加參數,該函數永遠不會被調用。使用jquery和AJAX將參數傳遞給VB.NET webmethod

客戶端:

$("#<%=saveResource2.clientID %>").click(function() { 
     var parDesc = $("#<%=ddlPDesc.clientID %> option:selected").text(); 
     $("#<%=Button1.clientID %>").click(); 
     $.ajax({ 
      type: "POST", 
      url: "Projects.aspx/btnSaveResource", 
      data: JSON.stringify({Desc: parDesc}), 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function(msg) { 

       $("#<%=lblPerson.clientID %>").text(msg); 
       // Do something interesting here. 
      } 
     }); 

    }); 

服務器端:

<WebMethod()> _ 
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _ 
Public Shared Function btnSaveResource(ByVal parDesc As String) As String 
    Dim d As String = parDesc 
    Return d + "test" 
End Function 

回答

6

嘗試從這個變化:

data: JSON.stringify({Desc: parDesc}), 

data: JSON.stringify({parDesc: parDesc}), 
+0

哈哈哈哈,哇。就是這樣。我沒有意識到接受的函數的變量與正在傳遞的函數具有完全相同的名稱。我甚至沒有考慮過這一點。謝謝! – Weston 2012-07-05 19:40:48

+0

@韋斯頓,你是否考慮接受這個答案,如果它解決了你的問題? – 2012-07-05 19:52:59

+0

@Lajos Arpad,是的,我考慮過。事實上,我的問題得到如此迅速的回答,我仍然需要等待7分鐘才能獲得批准。我現在已經完成了。 – Weston 2012-07-05 19:58:01

相關問題