[英]Passing variable to PHP with AJAX doesn't work
我正在尝试将一个整数传递给 php 代码,然后它将它存储到 WAMP sql db,但是我无法让它工作。
JS 函数 - item 是我要存储的整数:
function storeData(item){
$.ajax({
url: 'insert.php',
type: 'POST',
data: {
'var1': item
},
success: function(results) {
console.log("success");
},
error: function(results){
console.log("error");
}
});
}
PHP文件:
<?php
$host = "localhost:3306";
$user = "root";
$pass = "";
$databaseName = "items";
$con = mysqli_connect($host,$user,$pass, $databaseName);
//$dbs = mysqli_select_db($databaseName, $con);
$itemNumber = $_POST['var1'];
echo json_encode($itemNumber);
$sql = "INSERT INTO item_list (item_number) VALUES ('$itemNumber')";
mysqli_query($con, $sql) or die(mysqli_error());
?>
我刚刚收到此错误 - XML 解析错误:未找到元素位置:file:///C:/wamp64/www/bootstrap-3.3.7-dist/insert.php 第 8 行,第 3 列:
仅仅查询数据库是不够的。 然后,您必须将某些内容发送回 javascript。 在这种情况下,状态消息就足够了
<?php
$host = "localhost:3306";
$user = "root";
$pass = "";
$databaseName = "items";
$con = mysqli_connect($host,$user,$pass, $databaseName);
//$dbs = mysqli_select_db($databaseName, $con);
$itemNumber = $_POST['var1'];
echo json_encode($itemNumber);
$sql = "INSERT INTO item_list (item_number) VALUES ('$itemNumber')";
$result = mysqli_query($con, $sql) or die(mysqli_error());
if (!$result) {
echo json_encode(array('status' => 'FAILED'));
} else {
echo json_encode(array('status' => 'OK'));
}
?>
在你的 js 代码中
function storeData(item){
$.ajax({
url: 'insert.php',
type: 'POST',
data: {'var1': item },
success: function(data) {
console.log("In success method");
console.log("status returned " + data.status);
},
error: function(data){
console.log("error");
}
});
}
要使 console.log 正常工作,您需要一个成功方法,因此将其更改为:
function storeData(item){
$.ajax({
url: 'insert.php',
type: 'POST',
data: {
var1: item
}
});}
到:
function storeData(item){
$.ajax({
url: 'insert.php',
type: 'POST',
data: {
var1: item
},
success: function(results) {
console.log(results);
}
});}
同样为了更好地阅读,我建议您对您的数据进行 json_encode:
echo json_encode($itemNumber);
exit;
我发现出了什么问题,显然我需要为 URL 指定完整路径,但我认为这不是必需的,因为主文件和 php 文件都在同一个文件夹中。
function storeData(item){
$.ajax({
url: 'http://localhost/bootstrap-3.3.7-dist/main.php',
type: 'POST',
data: {
'var1': item
},
success: function(results) {
console.log("success");
},
error: function(results){
console.log("error");
}
});
return false;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.