我正在通过 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]">
现在我知道你可以使用以下方法轻松获取 jQuery 中标准字段的名称:
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 将其作为数组获取,就像直接 POST 到 PHP 脚本一样?
最佳答案
您应该使用序列化
HTML:
<form id="form1" action="" method="post">
<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]">
</form>
JS:
var dataObject = $('#form1').serialize();
var loadUrl = "some_script.php";
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
});
}
关于javascript - 使用 jQuery AJAX 通过 PHP 将表单数组传递给 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27120664/