javascript - 使用 jQuery AJAX 通过 PHP 将表单数组传递给 Javascript

标签 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]">
<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/

相关文章:

javascript - 在纯 html 项目中渲染 React 应用程序?

javascript - 前置内容

javascript - 如何防止 awesomplete 破坏布局

php - 检查与您的 MySQL 服务器版本对应的手册以获取正确的语法 : Update does not trasmit the data in the db because of this error

javascript - 使div的内容向下滚动并溢出

javascript - 如何使用 onPress 定位节点而不是节点号

php - 发送电子邮件 Codeigniter 错误

php - 如何在 Laravel 5 中设置自定义异常处理程序?

javascript - 如何检查选择选项中的重复值

jquery - Bootstrap popover 没有粘在模态内