首页 > 解决方案 > 在 ASP.NET 中使用 PHP 的 Ajax 请求

问题描述

我正在尝试连接我的数据库并使用 Ajax 和 PHP 获取一些数据。我在 ASP.NET 中创建了一个 Web 应用程序,我正在使用 Azure Data Studio 作为数据库。我不知道如何执行所有这些。我如何运行 php 脚本,如何在不重新加载页面更改下拉列表中的值的情况下从数据库中获取数据。我的连接字符串是:

"ConnectionStrings": {"ConnectionString":"Server=(localdb)\\mssqllocaldb;Database=DatabaseName; Trusted_Connection=True;"}

我的 HTML 代码是:

<form action=""> 
    <select name="customers" onchange="showValue(this.value)">
         <option value="">Select a customer:</option>
         <option value="1">One</option>
         <option value="2">Two</option>
         <option value="3">Three</option>
    </select>
</form>
<br>
<div id="txt">Here is info..</div>

我的 Ajax 请求,在 JS 中的函数:

function showValue(str) {
    var xhttp;  
    if (str == "") {
      document.getElementById("txt").innerHTML = "";
      return;
    }
    xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200) {
        document.getElementById("txt").innerHTML = this.responseText;
      }
    };
    xhttp.open("GET", "getValue.php?q="+str, true);
    xhttp.send();
  }

最后是我的 PHP 脚本:

<?php
$servername = "(localdb)\mssqllocaldb";
$username = "";
$password = "";
$dbname = "DatabaseName";
$mysqli = new mysqli($servername,$username,$password,$dbname);
if($mysqli->connect_error) {
  exit('Could not connect');
}

$sql = "SELECT Id, Name, Number
FROM Table1 WHERE Id = ?";

$stmt = $mysqli->prepare($sql);
$stmt->bind_param("s", $_GET['q']);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($id, $name, $number);
$stmt->fetch();
$stmt->close();

echo "<table>";
echo "<tr>";
echo "<th>ID</th>";
echo "<td>" . $id . "</td>";
echo "<th>Name</th>";
echo "<td>" . $name . "</td>";
echo "<th>Number</th>";
echo "<td>" . $number . "</td>";
echo "</tr>";
echo "</table>";
?>

标签: javascriptphphtmlasp.netajax

解决方案


推荐阅读