0
$(...).load('index.html', params)

有没有办法指示load将参数作为 JSON 传递?

是否$.ajaxSetup({})影响加载功能?


我要发送的示例对象:

{ 'state'  : [ { 'city' : 'city-foo' , 'zip'  : 'zip-foo' },
               { 'city' : 'city-bar' , 'zip'  : 'zip-bar' }
             ],
  'person' : [ { 'name' : 'name-foo' },
               { 'name' : 'name-bar' }
             ]
}

它的进来是什么(不需要的,个人参数):

state[0][city]
state[0][zip]
state[1][city]
state[1][zip]
person[0][name]
person[1][name]

我期待/想要的:

参数名称类似于json具有一个值:"{'state':[{'city':'city-foo','zip':'zip-foo'},{'city':'city-bar','zip':'zip-bar'}],'person':[{'name':'name-foo'},{'name':'name-bar'}]}"


更多信息

我正在尝试将它与 bootstrap.js 和 select2.js 一起使用——特别是将多选值传递给脚本并将值返回给模式。

var param = {/* object similar in structure to above example */};
$('#modal-id').load('?do=givemevalues', param ).modal('show')

这是jsFiddle中的一个示例,您可以使用 firebug 进行探索,以查看参数在 POST 中是如何过去的。

4

1 回答 1

2

有没有办法指示负载将参数作为 JSON 传递?

参数可以是字符串或对象。它本身就满足 JSON 表示法。但是,由服务器将其解析为 JSON。

另请注意,Request Method基于参数类型的更改。

如果数据作为对象提供,则使用 POST 方法;否则,假定为 GET。

$.ajaxSetup({}) 会影响加载功能吗?

是的,确实如此,以下来自文档。

使用任何函数的所有后续 Ajax 调用都将使用新设置,除非被单独的调用覆盖,直到下一次调用 $.ajaxSetup()。

于 2013-01-14T20:49:00.183 回答