2015-08-09 53 views
0

我有一個帶有單個參數的webMethod我試圖通過jQuery Ajax調用。現在該參數應該是我正在進行ajax調用的url的查詢字符串。我不知道如何將查詢字符串作爲參數傳遞給jQuery ajax中的方法。我的代碼如下將查詢字符串值傳遞給ASP.NET中的jQuery Ajax調用

C#方法

[WebMethod] 
public static string FollowUser(string userId) 
{ 
    //Code to follow user 
    //returns a string value 

} 

jQuery的阿賈克斯

$(document).ready(function() { 
      $("#btnFollow").click(function() { 
       $.ajax({ 
        type: "POST", 
        url: "Default.aspx/FollowUser", 

        data: //how do I pass the query string here 

        contentType: "application/json; charset=utf-8", datatype: "json", 
        context: this, 
        success: function(msg) { 
         //I'm doing some stuff here 
         } 

        }, 

        error: function(response) { 
         alert(response.d); 
        } 
       }); 
      }); 
     }); 

有人幫助我。謝謝。

回答

0

您需要將數據作爲URL的一部分傳遞或將方法更改爲GET。在提交包含數據的aJax帖子時,您將發送數據作爲請求主體(表單數據)的一部分。這不會作爲查詢字符串屬性,而是部分內容。而是改變URL以包含數據。例。

Default.aspx/FollowUser?userId=user1 

更改爲GET方法將強制後置參數成爲查詢字符串的一部分。

+0

感謝@Nico的回覆。但實際上,userId並不總是恆定的。它根據應用程序中選擇的用戶配置文件而變化。那麼如何正確設置查詢字符串並將其包含在URL中?再次感謝。 –

+0

動態更改您的URL以適應Ajax調用之前的數據或更改爲GET方法。無論哪種方式直接發佈到內容主體將發送到後主體。對於查詢字符串,它必須是URL的一部分。請記住,GET請求將始終將值放入URL中,但這也意味着這些值位於URL中並且是透明的。 – Nico

+0

我真的很抱歉,您的答案可能是正確的,但我不完全理解我需要在這裏做什麼。我將POST更改爲GET,並將我的網址更改爲'Default.aspx/FollowUser?userId =',但不知道要將值作爲什麼值。你能否通過代碼來說明你的解釋?謝謝。 –

相關問題