2012-03-14 14 views
0
var states = new Array();   
    states[0] = { Id: 1, Name: "Maharashtra" }; 
    states[1] = { Id: 2, Name: "Punjab" }; 

    var Id = new Array(); 
    Id[0] = 0; 
    Id[1] = 1; 




    $.ajax({ 
     type: "POST", 
     url: "WebService.asmx/MultiDim", 
     data: "{'states':" + JSON.stringify(states) +",'rowId':" + JSON.stringify(Id) + "}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (msg) { 
      // Do something interesting here. 
     } 
    });  


[WebMethod] 
     public void MultiDim(statesTemplate[] states, Id rowId) 
     { 

     } 

,我沒有得到我的web服務功能的ROWID第二參數中。如何使用jQuery的AJAX功能的多個參數?

回答

0

嘗試:

data : { states : states, rowId : Id }, 

您可以通過$.ajax()功能data屬性,它是一個對象,jQuery將採取其他的事情。

數據

數據要被髮送到服務器。 它轉換成一個查詢字符串,如果 不是已經是一個字符串。它附加到GET請求的URL。請參閱 processData選項以防止此自動處理。對象必須是 是鍵/值對。 如果value是一個數組,jQuery基於傳統設置 (下面描述)的值將具有相同密鑰的多個 值序列化。

來源:http://api.jquery.com/jquery.ajax/

剛一說明,就可以初始化你array小號字面上:

var states = [ { Id : 1, Name : 'Maharashtra' }, { Id : 2, Name : 'Punjab' } ], 
    Id  = [ 0, 1 ]; 
0

要創建的JSON字符串無效JSON。 JSON需要雙引號。用單引號開始你的字符串,併爲鍵和值使用雙引號。使用jsonlint.com驗證