Javascript 使用jquery.post()发送所有输入字段
我已将所有输入字段的值收集到一个数组中,如下所示:Javascript 使用jquery.post()发送所有输入字段,javascript,jquery,Javascript,Jquery,我已将所有输入字段的值收集到一个数组中,如下所示: $( ".formbox" ) . each( function(id,elem){ form_fields[ "input-" + $( elem ) . attr( "id" ) ] = $( elem ) . val( ); }); $.log( "Collected:", form_fields ); 这确实有效,然后我尝试使用post传递数组 $.post( "server.php", {
$( ".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 = {};
:
我不明白这是怎么解决问题的
请告诉我数组和{}之间的区别是什么?{}在JS中有什么作用?我只能推荐。它处理了所有这些混乱,甚至支持透明的文件上传模式。因为通常情况下,您无法使用AJAX上传文件。我只能推荐使用。它处理了所有这些混乱,甚至支持透明的文件上传模式。因为通常情况下,您无法使用AJAX上载文件。请尝试:
var fields = {};
$('.formbox input').each(function(){
var $this = $(this);
fields['input-' + $this.attr('name')] = $this.val();
});
$.log( "Collected:", fields );
$.post("server.php", fields, function(ret) {
if (!ret.success)
alert ( "Error! Reload please!" );
else{
}
}, 'json');
表单_字段={};表示将空对象指定给表单_字段。{}用于表示对象,而[]用于表示数组。试试:
var fields = {};
$('.formbox input').each(function(){
var $this = $(this);
fields['input-' + $this.attr('name')] = $this.val();
});
$.log( "Collected:", fields );
$.post("server.php", fields, function(ret) {
if (!ret.success)
alert ( "Error! Reload please!" );
else{
}
}, 'json');
表单_字段={};表示将空对象指定给表单_字段。{}用于表示对象,而[]用于表示数组。{}用于创建对象,[]用于表示索引的数组。区别在于
示例代码:
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的更多信息:
关于数组的更多信息:{}用于创建对象,[]用于数组以指示索引。区别在于
示例代码:
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的更多信息:
关于阵列的更多信息:您的想法是正确的,但我正在尝试从零做起,尽量少使用插件等等。因为这会使应用程序变慢。我认为速度损失实际上可以忽略不计。下载量只有几k,比大多数图片都少。而且计算开销也很小。你的想法是正确的,但我正试图从零做起,尽量少使用插件等等。因为这会使应用程序变慢。我认为速度损失实际上可以忽略不计。下载量只有几k,比大多数图片都少。而且计算开销也非常小。