使用jQuery AJAX通过PHP将表单数组传递给Javascript
我正在通过使用jQuery AJAX通过PHP将表单数组传递给Javascript,javascript,php,jquery,arrays,ajax,Javascript,Php,Jquery,Arrays,Ajax,我正在通过AJAX和jQuery提交表单,我需要了解如何将表单数组传递给它 例如,我的html类似于: <input id="standard_field" type="text" name="standard_name"> <input id="some_id_1" type="text" name="my_array[my_name_1]"> <input id="some_id_2" type="text" name="my_array[my_name_2]"
AJAX
和jQuery
提交表单,我需要了解如何将表单数组传递给它
例如,我的html类似于:
<input id="standard_field" type="text" name="standard_name">
<input id="some_id_1" type="text" name="my_array[my_name_1]">
<input id="some_id_2" type="text" name="my_array[my_name_2]">
<input id="some_id_3" type="text" name="my_array[my_name_3]">
var foo = $('standard_field').val();
但我不知道如何获取数组数据?另外,它需要从ajax传递到PHP脚本,就像PHP脚本在没有ajax的情况下提交表单一样
下面是一个我通常如何传递数据的示例:
var foo = $('standard_field').val();
var loadUrl = "some_script.php";
var dataObject = { foo: foo };
getAjaxData(loadUrl, dataObject, 'POST', 'json')
.done(function(response) {
//..........
})
.fail(function() {
//......
});
// End
function getAjaxData(loadUrl, dataObject, action, type) {
return jQuery.ajax({
type: action,
url: loadUrl,
data: dataObject,
dataType: type
});
}
因此,首先我如何从表单中获取要传递的数据,其次我如何从jQuery将其传递到PHP脚本,以便PHP将其作为一个数组,就像直接传递到PHP脚本一样?您应该使用序列化
HTML:
您应该使用序列化
HTML:
你可以使用这个插件
示例代码:
JS:
PHP:
你可以使用这个插件
示例代码:
JS:
PHP:
可以使用String.slice方法提取标签名称
var input = $('#myform input');
var data = [];
var name, label, value = '';
for(var i in input) {
name = input.eq(i).attr('name');
label = name.splice(9, -1);
value = input.eq(i).val();
data[label] = value;
}
data = JSON.stringify(data);
对于检测,当它是一个数组时,您可以使用String.indexOf('[')之类的
对于未知数组结构:
array_name = name.splice(0, name.indexOf('['));
label = name.splice(name.indexOf('['), name.indexOf(']'));
可以使用String.slice方法提取标签名称
var input = $('#myform input');
var data = [];
var name, label, value = '';
for(var i in input) {
name = input.eq(i).attr('name');
label = name.splice(9, -1);
value = input.eq(i).val();
data[label] = value;
}
data = JSON.stringify(data);
对于检测,当它是一个数组时,您可以使用String.indexOf('[')之类的
对于未知数组结构:
array_name = name.splice(0, name.indexOf('['));
label = name.splice(name.indexOf('['), name.indexOf(']'));
serializeArray:serializeArray:谢谢。我知道serialize,但不知道您可以传递这样的整个表单。谢谢。我知道serialize,但不知道您可以传递这样的整个表单。
var input = $('#myform input');
var data = [];
var name, label, value = '';
for(var i in input) {
name = input.eq(i).attr('name');
label = name.splice(9, -1);
value = input.eq(i).val();
data[label] = value;
}
data = JSON.stringify(data);
array_name = name.splice(0, name.indexOf('['));
label = name.splice(name.indexOf('['), name.indexOf(']'));