$(...).load('index.html', params)
有没有办法指示load
将params作为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]
我期待/想要的东西:
param名称类似于 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进行探索,了解params在POST中的过去情况。
答案 0 :(得分:2)
有没有办法指示加载将params作为JSON传递?
param可以是字符串或对象..它本身满足JSON表示法。但是,服务器可以将其解析为JSON。
另请注意,Request Method
会根据参数类型进行更改。
如果数据作为对象提供,则使用POST方法;否则,假设GET。
$ .ajaxSetup({})会影响加载功能吗?
是的,下面是文档。
使用任何函数的所有后续Ajax调用都将使用新设置,除非被单个调用覆盖,直到下一次调用$ .ajaxSetup()。