javascript - 使用 Ajax 从 PHP 获取 Echo 到 Div

标签 javascript php html mysql ajax

我在服务器上有一个简单的数据库(用于测试)。 这个 PHP 文件在服务器上,当我打开 URL 时它可以工作。 (http://**.com/search.php?id=abc) Echo 返回“30”

<?php
$pdo = new PDO('mysql:host=*com; dbname=*test1', '*', '*');
$idV = $_GET['id']; 
$statement = $pdo->prepare("SELECT position FROM idtabelle WHERE idnumber = :idV");
$statement->bindParam(':idV', $idV);
$statement->execute();
 while ($row = $statement->fetch(PDO::FETCH_ASSOC))
{ $posV = $row['position']; };
echo $posV;
?>

HTML 仅用于测试

<input type="text" id="txt1">
<button type="button" class="btn btn-info" id= "bt1">Info Button</button>
<div id= "div1"> </div>

我希望当我在文本字段中输入代码并按下按钮时,来自 PHP 的 Echo 会显示在 Div 中。 我知道我应该使用 Ajax GET,但我尝试了很多东西,但没有任何效果。 你能帮我吗?

编辑:上次尝试:https://jsfiddle.net/qz0yn5fx/

    <input type="text" id="txt1">
  <button type="button" class="btn btn-info" id="bt1">Info Button</button>
      <div id="div1">Here </div> 

      <script>
          $(document).ready(function() {

    $("#bt1").click(function() {                
      $.ajax({   
         //create an ajax request to load_page.php
        type: "GET",
        url: "http://**.com/search.php?id=a10 ",             
        dataType: "html",   //expect html to be returned      

        success: function(response){                    
            $("#div1").html(response); 
            alert(response);
        }

    });
});
});
      </script>

最好不要看下一个 Fiddle,我刚刚复制了所有第一次尝试:

https://jsfiddle.net/jqv1ecpj/

最佳答案

您可以只使用简单的 POST 请求而不是 GET 请求。

  <form id="search" name="search" method="post">
    <input type="text" id="txt1" name="search_input">
  <button type="submit" class="btn btn-info" id="bt1">Info Button</button>
  </form>
    <div id="div1">Here </div>

$(document).ready(function(){
    $("#search").on("submit", function(e){
    e.preventDefault();
    $.post("/search.php", $("#search").serialize(), function(d){
        $("#div1").empty().append(d);
    });
  });
});

然后在您的 PHP 中,(不要忘记使用 try{}catch{}):

    try {
    $pdo = new PDO('mysql:host=*com; dbname=*test1', '*', '*');
    $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $idV = (isset($_POST['search_input'])) ? $idV = $_POST['search_input'] : exit('The search was empty'); 
    $statement = $pdo->prepare("SELECT position FROM idtabelle WHERE idnumber = ?");
    $statement->bindParam(1, $idV);
    $statement->execute();
    foreach($statement -> fetchAll() as $row){
    echo $row['position'];
    }

    $pdo = null;
    } catch (PDOException $e) {
    die($e -> getMessage());
    }

我认为这应该可行(尚未测试)。如果它不起作用,请告诉我,我会测试并更正它。

关于javascript - 使用 Ajax 从 PHP 获取 Echo 到 Div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43300779/

相关文章:

php - 如何将字符串转换为非字母数字字符的驼峰式大小写?

javascript - 在服务器上存储嵌套 JSON

html - img 标签不尊重父级的右边距

html - CSS 悬停不起作用

javascript - 用 JavaScript 模仿浏览器缩放

javascript - 如何在不停止脚本的情况下获取 JS 堆栈跟踪?

javascript - Sharepoint 2013 访问被拒绝。您无权执行此操作或访问此资源。 - get_siteGroups()

C# 函数在 JavaScript 中加密

php - Yii2 分页不适用于 orderBy

html - 如何使用 CSS 将两个 block 居中,中间有一些间隙?