【问题标题】:Array argument decomposition in $.ajax request$.ajax 请求中的数组参数分解
【发布时间】:2014-05-08 00:40:10
【问题描述】:

以下代码:

$.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

是否有可能以某种方式避免参数末尾的括号?

【问题讨论】:

标签: javascript jquery ajax coffeescript request


【解决方案1】:

如果没有设置'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'

【讨论】:

    猜你喜欢
    • 2016-11-27
    • 2012-04-13
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 2016-06-28
    • 2011-12-25
    • 2019-04-04
    • 1970-01-01
    相关资源
    最近更新 更多