2014-05-07 58 views
0

以下代碼:

$.ajax(serviceUrl, 
    { 
     data: 
      format: 'json' 
      id: [2,3,4] 
     success: (data) -> 
      successCallback(data) if successCallback 
     error: (error) -> 
      failureCallback(error) if failureCallback 
    }) 

發送請求與下面的查詢字符串參數:

format:json 
id[]:2 
id[]:3 
id[]:4 

是否有可能以某種方式避免在參數的結尾處的括號?

+1

可能的重複[如何使用jQuery和.ajax方法發送數組而不轉義括號?](http://stackoverflow.com/questions/8934961/how-do-i-send-an-array - 使用 - jQuery的和最Ajax的方法,而無需轉義最BR) –

回答

0

默認情況下,如果未設置'type'參數,jquery ajax將使用GET方法。 因此,'數據'值應該被轉換爲serviceURL的一部分。一個流行的方式發送陣列作爲一個參數是將其轉化成像字符串:ID [] = 2 & ID [] = 3 & ID [] = 4

可在發送參數作爲JSON對象或其他HTTP內容類型,但使用其他方法,如POST或PUT。 GET的

語義檢索資源,POST - 創建一個新的資源,PUT - 創建或修改是否存在等 你可以使用這樣的事情在JSON格式發送和接收數據:

data = 
    format: 'json' 
    id: [2,3,4] 

$.ajax 
    url: serviceUrl 
    type: 'post' 
    data: JSON.stringify(data) 
    contentType: 'application/json' 
    dataType: 'json'