javascript - ajax() 考虑值 null jQuery

标签 javascript php jquery ajax

我正在尝试从 div 获取所有输入数据并将其发送以进行处理(在 PHP 中)。然而,尽管我很确定,因为我在调用 ajax() 函数之前已经在控制台记录了变量 bookeeDetails ,所以有一个值。

$("#finalsubmit").click(function () {
    var bookeeDetails = [];

    $("#bookeeDetails :input").each(function () {
        bookeeDetails[$(this).attr('name')] = $(this).val();
    });

    console.log(bookeeDetails);

    $.ajax({
        url: url,
        type: 'post',
        data: {
            bookee: bookeeDetails
        },
        success: function (response) {
            $("#info").html(response);
        }
    });
});

基本上,我打算在 PHP 脚本中访问 $_POST['bookee']['keyname']。不幸的是,当请求被发送时,PHP 没有收到任何东西。我测试过输入固定值,效果很好,而且我 100% 确定 bookeeDetails 包含数据。

这是 bookeeDetails 尚未填充的情况,因为在填充循环完成之前发送了请求吗?如果是这样,我该如何阻止这种情况发生?

最佳答案

因为我在 finalsubmit 中看到提交,我猜你那里有一个表格,所以你可能正在寻找 serializeArray :

$( '#bookeeDetails' ).serializeArray();

希望这对您有所帮助。

var data = $( '#bookeeDetails' ).serializeArray();

var books = {};

$.each(data, function(i, obj){
  books[obj.name] = obj.value;  
})

console.log(books);
console.log(books['title']);
console.log(books['autor']);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<form id='bookeeDetails'>
  <input type="text" name="title" value="Biography">
  <br>
  <input type="text" name="autor" value="Jack">
  <br>
  <input type="text" name="edition" value="2016">
</form>

关于javascript - ajax() 考虑值 null jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40242762/

相关文章:

javascript - React Webpack 开发服务器 main.js 未找到

javascript - 获取范围内的所有变量

javascript - 使用 HTML5 的 MPEG-DASH 自适应流媒体在 Windows Chrome/Mozilla 中不起作用

php - 下拉菜单在第一页加载时出现延迟

javascript - 使用 jquery ajax 加载外部 javascript 文件的最佳方法?

JQuery 用响应式 Div 包装表格单元格

javascript - 如何获取 $(this) 选择器的特定子级(两个子级中的一个)?

PHP MySQL 查询 WHERE equals AND 行不存在

php - 如何解析这些字符串

php - 是否有可能获得已定义 namespace 的列表