2011-11-03 42 views
1

如果你有一個與JSON對象相匹配的類,那麼從JSON發送對象到ASP.NET可以正常工作,但是我只需要發送一個整數。如何在不創建新類的情況下將簡單的JSON對象發送到ASP.NET?

var request = { "int": jQuery('select#propSelect').val() } 

      jQuery.ajax({ 
       url: '/Property/getPropByID', 
       type: 'POST', 
       data: JSON.stringify(request), 
       dataType: 'json', 
       contentType: 'application/json', 
       success: on_request_success, 
       error: on_request_error 
      }); 

有沒有人知道如何做到這一點?

一旦它到達服務器,我嘗試打印出已通過的內容並且什麼都不顯示。

public void getPropByID(string objects) 
    { 
     System.Diagnostics.Debug.WriteLine("JSON> "+ objects); 
     //return js.Serialize(db.Properties.Find(id)); 
    } 
+0

所以也沒有顯示'JSON>'絕不能調用該函數即可。 –

回答

3

如果你需要做的就是發送一個int,那麼這樣做:

 jQuery.ajax({ 
      url: '/Property/getPropByID', 
      type: 'POST', 
      data: {'myint':$('select#propSelect').val()}, 
      dataType: 'json', 
      contentType: 'application/json', 
      success: on_request_success, 
      error: on_request_error 
     }); 

者和網絡服務端:

public void getPropByID(int myint) 
{ 

} 

注意:我相信Web服務上的參數名稱必須與客戶端上的參數名稱匹配。

+0

謝謝,我其實並沒有意識到參數名稱必須匹配! – JackalopeZero

1

試試這個:

var request = { objects: jQuery('select#propSelect').val() } 
+0

這不是因爲該值必須與Web服務端的屬性具有相同的名稱而失敗嗎? – JaredPar

+0

@JaredPar是的,他有服務器端的屬性「對象」的名稱 –

相關問題