2014-01-21 43 views
2

我想從.aspx頁面的文本框中獲取一個字符串。當我調試我的網站時,jQuery.post能夠看到輸入值,但是當我嘗試在我的處理程序中獲取值時,他給我返回NULL。任何人幫助!c#:與一個處理程序(.ashx)用javascript發送帖子

JS:

CompanyName = $("#company").val(); 
jQuery.post('/CartHandler.ashx', { 'CompanyName': CompanyName }); 

ASHX:

public void ProcessRequest(HttpContext context) 
{ 
    string ImeTvrtke = context.Request.QueryString["CompanyName"]; 
} 

回答

5

當你做一個POST請求,值不會發送作爲查詢字符串的一部分。所以不要在查詢字符串中尋找它。檢索這樣的:

string ImeTvrtke = context.Request["CompanyName"]; 

另外,如果你想發送的查詢字符串的一部分,然後使用一個GET請求:

jQuery.get('/CartHandler.ashx', { 'CompanyName': CompanyName }); 
+0

我用GET tryed,它是相同的。 – user3219202

+0

嗯,這很奇怪。你能看到Fiddler中的AJAX請求嗎? –

+0

當我用jquery序列化發佈時,我能夠在整個表單中獲得處理程序,但我只需要一個字符串 – user3219202

0

你試圖從查詢得到一個參數發佈字符串,而不是從其發佈的表單。

嘗試:

context.Request.Form["CompanyName"]; 

或者只是:

context.Request["CompanyName"] 
+0

我試過了,但它是一樣的,我不能得到字符串 – user3219202

+0

如果你不能得到字符串,那麼你可能想要Request []/Request.Form []的.Value,道歉,我didn不明白這是你的問題 – dougajmcdonald

0

當你使用後,你應該看看在Request.Forms集合,而不是查詢字符串。

0

嘗試

string ImeTvrtke = context.Request["CompanyName"];