javascript - 使用 Ajax 运行 PHP 查询,以模式返回数据

标签 javascript php jquery ajax

这是我第一次完全尝试使用ajax。我查遍了谷歌,似乎找不到答案。我什至不确定我想做的事情是否可行。

我正在尝试使用 mysql 表中的数据填充模式窗口。

使用下面的 JavaScript,我可以通过单击 HREF 在模式窗口中打印 DATA-ID:

 <script type="text/javascript">
   $(document).on("click", ".open-RestrictModal", function () {
     var myId = $(this).data('id');
     $(".modal-body #Id").val( myId );
 });
 </script>

我想在这段代码中添加运行 PHP/MySQL 查询、获取结果并将其打印在模式窗口中的功能。

我想我必须使用AJAX,但我不确定。如何向现有代码添加将 javascript 变量发送到 AJAX 页面并在模式窗口中返回结果的功能?

请帮忙。

最佳答案

看起来您甚至没有在这里使用 ajax,假设您使用的是 jQuery 库,您可以构建如下调用:

function some_ajax_call(your_param) {

     $.ajax({

         type: "POST",     // We want to use POST when we request our PHP file
         url : "some/url/to/your/file.php",
         data : { query : your_param },    // passing an array to the PHP file with the param,  value you passed, this could just be a single value i.e. data: your_param
         cache: false,       // disable the cache optional

         // Success callback if the PHP executed  
         success: function(data) {
              // do somethig - i.e. update your modal with the returned data object
              $('.modal-body #id').val(data);    
         }

     });

}

然后您可以编写 file.php 文件来处理查询

<?php

// Capture the variable we passed in via AJAX
$param  = $_POST['query'];  

// Build a query
$query = "SELECT * FROM some_table WHERE val ='" . $param . "'";

// I assume you know how to run a query, this would be fetching an assoc array
$results = $DB->run__query($query);

// Check we have some results, then echo back to the AJAX call
if(sizeof($results) > 0) {
    echo $results;
} 

如果我们有任何结果,则在 PHP 脚本末尾的 $results 数组中进行回显,将使用返回的行填充成功回调中的数据数组,然后您可以在中执行任何 DOM 操作更新模态的成功回调,希望这有帮助。

关于javascript - 使用 Ajax 运行 PHP 查询,以模式返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25748848/

相关文章:

javascript - php中的XSS黑名单

PHP jQuery 更新可排序嵌套菜单

javascript - 具有相同属性值的 sibling

javascript - Ionic design --> button/slide item background-color and round button/square avatar问题

javascript - 无法使用 slim 框架 3 接收来自 ajax post 请求的响应

PHP 通过键和值比较两个多维数组

javascript - JQuery .post() 将 html 返回到表中

javascript - 选择所有 div 但不选择嵌套在特定 div 中的那些 div

javascript - 删除 2 个单词之间的空格,使其成为 javascript 中的一个单词

javascript - 使用对象数组查找每个国家/地区的大陆