使用 jQuery.ajax 发布函数将 javascript 数组中的数据传递到服务器?
Posted
技术标签:
【中文标题】使用 jQuery.ajax 发布函数将 javascript 数组中的数据传递到服务器?【英文标题】:passing data in javascript array to server with jQuery.ajax post function? 【发布时间】:2012-01-27 17:45:23 【问题描述】:我想知道是否可以使用 jQuery 的 ajax 函数将存储在 javascript 数组中的数据传递给服务器。
在它指定的 jQuery 文档中:
$.ajax(
type: 'POST',
url: url,
data: data,
success: success,
dataType: dataType
);
可以将“数据”设置为数组吗?鉴于数据似乎需要键值对,这将如何工作?我目前只是对值进行硬编码,但我希望它是一种更动态的方法..我当前的代码是:
jQuery.ajax(
url: "/createtrips/updateitin",
type: 'POST',
data: place1: 'Sydney', place2: 'London',
dataType: 'json',
);
【问题讨论】:
【参考方案1】:我创建了一个这样的数组:
var placesfortrip = ;
然后像这样添加到它:
placesfortrip["item"+counter] = inputVal;
(其中counter
是一个递增的计数器变量)
然后将其分配给 ajax 调用的data
属性
jQuery.ajax(
url: "/createtrips/updateitin",
type: 'POST',
data: placesfortrip,
dataType: 'json',
);
如果我查看 firebug 中的 XHR 选项卡,就会发现这些值已被发布!
【讨论】:
【参考方案2】:是的,jQuery.ajax()
支持数组的传递。它只是将数组序列化为名称-值字符串。
如果 value 是一个 Array,jQuery 序列化多个具有相同 key 的值 基于
traditional
设置的值(如下所述)。
【讨论】:
【参考方案3】:我相信您想研究使用 JSON 来传递这些值。
This is a good place to start
【讨论】:
我创建了一个这样的数组:【参考方案4】:查看 jQuery 序列化:http://api.jquery.com/serialize/
$('form').submit(function()
alert($(this).serialize());
return false;
);
This produces a standard-looking query string:
a=1&b=2&c=3&d=4&e=5
【讨论】:
你有例子吗?好像不支持序列化(?)以上是关于使用 jQuery.ajax 发布函数将 javascript 数组中的数据传递到服务器?的主要内容,如果未能解决你的问题,请参考以下文章
使用 jQuery ajax 函数将 php 值发送到 php 函数
使用 Jquery $.ajax 在 Flask 上调用服务器端函数 [重复]
jQuery Ajax Post - 无法使用回调函数设置全局变量?