Javascript 未传递到php脚本的信息
我正在尝试创建一个表单,当提交时,该表单会发送信息并刷新页面,返回提交的项目的id。我能够让php运行并将数据输入服务器,但却被AJAX卡住了,因为它所做的一切就是将文本输入url栏 AJAX代码Javascript 未传递到php脚本的信息,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我正在尝试创建一个表单,当提交时,该表单会发送信息并刷新页面,返回提交的项目的id。我能够让php运行并将数据输入服务器,但却被AJAX卡住了,因为它所做的一切就是将文本输入url栏 AJAX代码 $(document).ready(function(){ $('#dataSubmut').on('dataSubmit',function(e){ $.ajax({ url:'files/insert.php', data:$(this).serialize
$(document).ready(function(){
$('#dataSubmut').on('dataSubmit',function(e){
$.ajax({
url:'files/insert.php',
data:$(this).serialize(), // missing () on serialize()
type:'POST',
success:function(data){
console.log(data);
if(data != "Error") {
$("#success").html(data).show().fadeOut(5000);
}
else {
$("#error").html(data).show().fadeOut(5000);
}
},
error:function(data){
$("#error").show().fadeOut(5000);
}
});
e.preventDefault();
});
});
HTML代码
产品名称:
产品说明:
产品价格:
产品库存金额:
PHP代码
<?php
$product_name = $_POST["Product_Name"];
$product_desc = $_POST["Product_Desc"];
$product_price = $_POST["Product_Price"];
$product_stock = $_POST["Product_Stock"];
$dsn = 'mysql:host=localhost;dbname=cms';
$user = 'root';
$password = '';
try {
$pdo = new PDO($dsn, $user, $password);
$pdo ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
$sql = "INSERT INTO Products (Product_Name, Product_Desc, Product_Price, Product_Stock)
VALUES (:Product_Name, :Product_Desc, :Product_Price, :Product_Stock)";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':Product_Name', $_POST['Product_Name'], PDO::PARAM_STR);
$stmt->bindParam(':Product_Desc', $_POST['Product_Desc'], PDO::PARAM_STR);
$stmt->bindParam(':Product_Price', $_POST['Product_Price'], PDO::PARAM_STR);
$stmt->bindParam(':Product_Stock', $_POST['Product_Stock'], PDO::PARAM_STR);
$stmt->execute();
$newId = $pdo->lastInsertId();
echo "Data entered successfully with the id: ".$newId;
您的id和事件似乎有误:
$('#dataSubmut').on('dataSubmit'
应该是:
$('#dataSubmit').on('submit'
谢谢,真不敢相信我错过了。你也能看出为什么它没有更新div吗?@SamSalter哪个div?你没有在任何地方使用过data
div。我一定是糊涂了。请参阅HTML代码中表单底部的“Data”div。我正试图让它在运行时改变php回音。@SamSalter那么你应该使用$(“#data”).html(data.show().fadeOut(5000)代码>用于两个#成功#错误。
$('#dataSubmit').on('submit'