javascript - PHP 使用 AJAX 和 DataTables 发布数据

标签 javascript php jquery ajax json

提交表单时,我在服务器端 PHP 脚本中遇到了获取 POST 数据的问题。我将其缩小为一些通过 AJAX 将 JSON 数据加载到数据表中的 JQuery/JavaScript。

形式如下:

   <form class="form-horizontal" action="./scripts/lookup.php" method="post" role="form" id="lookupForm">
   <div class ="form-group">
      <label for="inputLookup" class="col-sm-2 control-label">Username</label>
      <div class="col-sm-10">
         <input type="text" class="form-control" id="inputLookup" name="lookup_name" placeholder="John.Doe" required/>
      </div>
   </div>
   <div class="form-group">
      <div class="col-sm-10 col-sm-offset-2">
         <input id="submitUserLookupBtn" name="submitUserLookup" type="submit" value="Lookup" class="btn btn-primary"/>
      </div>
   </div>
</form>

然后是脚本:

$("#lookupForm").submit(function (e) {
 e.preventDefault();
 $.ajax({
     type: 'POST',
     url: './scripts/lookup.php',
     dataType: 'json',
     success: function(s) {
      LUUTable.fnClearTable();
        for(var i = 0; i < s.length; i++) {
           LUUTable.fnAddData([
              s[i][0],
              s[i][1],
              s[i][2],
              s[i][3],
              s[i][4],
              s[i][5],
              s[i][6],
              s[i][7]
           ]);
        }
     },
     error: function(e) {
        if (e.responseText != '') {
           console.log("Error: " + e.responseText);
        } else {
           console.log("Warning: No data to return.");
        }
     }
 });
});

无论何时运行该代码片段,PHP 都不会获取 POST 数据,但是一旦我将脚本注释掉,POST 数据就会发送到服务器。然而,问题在于这段代码是我处理服务器返回的 JSON 数据的地方。

导致数据无法 POST 的原因可能是什么,我该如何进一步解决或缓解此问题?

非常感谢!

最佳答案

您将数据两次发送到 ./script/lookup.php

<form class="form-horizontal" action="./scripts/lookup.php" method="post" role="form" id="lookupForm">

在 Ajax 脚本中。将上面一行改为

<form class="form-horizontal" role="form" id="lookupForm">

只需保留 url,然后在 javascript 的 ajax 调用中键入:post。

关于javascript - PHP 使用 AJAX 和 DataTables 发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29266886/

相关文章:

php - Eclipse 搜索结果 - 文件名未显示

javascript - 关闭按钮在 Chrome 中不起作用

javascript - jquery代码转到上一个html页面?

javascript - 从 Angular 6 路由器获取语言前缀作为参数

javascript - 类型错误 : Cannot read property 'addEventListener' of null at game. js:51

javascript - JSONP 脚本回调不起作用

jquery mobile - 在 android 上太宽了

javascript - 如何在 AngularJS 指令中调用 Controller 函数

php - 如何使用 session ID 进行身份验证

php - 以编程方式构建 htpasswd