我已经将所有输入字段的值收集到一个数组中,如下所示:
$( ".formbox" ) . each( function(id,elem){
form_fields[ "input-" + $( elem ) . attr( "id" ) ] = $( elem ) . val( );
});
$.log( "Collected:", form_fields );
这确实有效,然后我尝试使用 post 传递数组
$.post(
"server.php",
{
fields: form_fields
},
function(ret) {
if (!ret.success )
alert ( "Error! Reload please!" );
else
{
}
},
'json'
);
但是在检索时,Firebug 指示字段为空
据我所知,我需要序列化数组或根本不使用它。但是我可以用什么代替呢?
请告诉我我做错了什么?
------------ 添加-------- ...我刚找到这个
form_fields = {};
:)
我不明白如何解决问题 请告诉我 Array 和 {} 之间的区别是什么? JS 中的 {} 是什么?
最佳答案
{}
用于创建对象,[]
用于数组以指示索引。区别在于。
示例代码:
var obj = {name:"Captain",last_name:"Caveman",run:function(speed){//run;}}
//equivalent to
var obj = new Object();
obj.name = "Captain";
obj.last_name = "caveman";
obj.run = function(speed){
//run;
}
我刚刚使用 {}
动态创建了一个新对象,按照下面的代码调用它的成员
document.write(obj.name);
document.write(obj.run("fast"));
但是数组比对象更简单。
JSON:Javascript 对象表示法
关于 JSON 的更多信息:http://www.w3schools.com/js/js_objects.asp
关于javascript - 使用 jquery .post() 发送所有输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6772946/