.serialize() Javascript 中的变量数组
.serialize() an array of variables in Javascript
我有一个可用的变量列表,我想通过 $.ajax post 发送它。我必须保留这些格式才能使用 .serialize 函数?我不断收到此错误:
对象"空白"没有方法"序列化"
我试图将它们变成一个数组,我尝试过jQuery.param()。我有一种感觉,这很简单,但我似乎无法理解。谢谢!
var $data = jQuery.makeArray(attachmentId = attachmentID, action = 'rename', oldName = filename, newName, bucketName, oldFolderName, newFolderName, projectId = PID, businessId = BID);
var serializedData = $data.serializeArray();
//alert(theurl);
$.ajax({ type: "post", url: theurl, data: serializedData, dataType: 'json', success: reCreateTree });
.serialize
用于表单元素:
将一组表单元素编码为字符串以供提交。
$.ajax
文档对data
选项说:
要发送到服务器的数据。如果还不是字符串,则会将其转换为查询字符串。它被附加到 GET 请求的 url 中。请参阅
processData
选项以防止此自动处理。对象必须是键/值对。如果 value 是一个数组,jQuery 会根据传统设置的值序列化具有相同键的多个值(如下所述)。
所以你需要做的就是传递一个对象。例如:
$.ajax({
type: "post",
url: theurl,
data: { // <-- just pass an object
attachmentId: attachmentID,
action: 'rename',
// ...
},
dataType: 'json',
success: reCreateTree
});
看来你已经习惯了数组(关联数组)的PHP风格。 在Javascript中,对象基本上是同一件事(尽管可能要复杂得多)。
因此,如果您尝试在 php 中创建这样的数组,它将是
$array = array(
"foo" => "bar",
"bar" => "foo",
);
在Javascript中使用对象而不是数组,它将是
var arr = {
foo: "bar",
bar: "foo"
}
相关文章:
- Angularjs:访问范围变量数组并计算平均值
- 将 php 变量(数组)json_encode JavaScript 变量时的键排序
- 具有公共属性的变量数组
- Highcharts将变量数组添加到序列中
- 如何在Javascript函数中添加php变量/数组(在jsGrid({controller})中)
- Javascript项目通过变量数组进行搜索
- 用于交替结果的变量数组
- 如何将变量数组从 laravel 控制器传递到我的 ajax 函数
- 如何在 Javascript 中从数组创建变量数组
- 使用 Javascript 创建变量数组(动态,下拉)
- .serialize() Javascript 中的变量数组
- 更改全局变量(数组)的 JavaScript 函数
- 使用变量数组调用函数
- 使用 JavaScript 变量数组
- 如何使用静态变量数组
- 变量数组+正则表达式不能一起工作
- 将变量数组大写
- 变量数组中的对象是否可能有2个值
- 将java变量/数组传递给android webview中的javascript
- 从for循环(Javascript)中创建变量数组