$ .ajax请求中的数组参数分解

时间:2014-05-07 14:01:43

标签: javascript jquery ajax coffeescript request

以下代码:

$.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 个答案:

答案 0 :(得分:0)

默认情况下,jquery ajax使用GET方法,如果'类型'参数未设置。 所以,'数据' value应转换为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'