我是第一次使用 HTML PHP 和 Ajax,所以请耐心等待。大部分代码来自我在网上找到的示例。但是,我无法让它实际插入数据库。 ajax函数确实进入成功函数;成功输出只是显示为警报的 php 文件。
我把这些都放在本地了,所以我启动 chrome 作为
chrome --allow-file-access-from-files file:///C:/filepath/index2.html
我知道这不好,但我正在凑合着。
index.html
<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <title>Insert</title> </head> <body> <label>Name</label> <input type="text" id="name"> <label>Email</label> <input type="text" id="email"> <button type="submit" id="button">SAVE</button> <script> $(document).ready(function(){ $("#button").click(function(){ var name=$("#name").val(); var email=$("#email").val(); $.ajax({ url:'insert.php', method:'POST', data:{ name:name, email:email }, success:function(data){ alert(data); }, error:function(data){ alert(JSON.stringify(data)); } }); }); }); </script> </body> </html>
插入.php
<?php $name=$_POST['name']; $email=$_POST['email']; $conn = new mysqli('Azure server URL', 'Username','Password', 'tableName'); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql="INSERT INTO data ('id', 'name', 'email') VALUES (NULL, $name, $email)"; if ($conn->query($sql) === TRUE) { echo "data inserted"; } else { echo "failed"; } ?>
P粉5174756702024-02-04 16:25:34
你说
...这不仅不好,而且是造成问题的原因。 Chrome + 您的文件系统无法执行 PHP 代码。
您需要使用具有可用 PHP 运行时的适当 Web 服务器,以便它支持执行 PHP 来响应 HTTP 请求。使用 XAMPP 或 Laragon 安装功能齐全的 PHP 开发环境,其中 PHP、Apache 和 MySQL/MariaDB 可用且已配置,因此您可以在本地计算机上正确开发和测试。
快速修复的另一个选项是 PHP 内置网络服务器 一旦你安装了 PHP 就可以使用,虽然它的功能比较有限,但它与真实的部署环境不太相似,显然如果你也需要数据库等组件,你需要设置你自己单独说一下。