我正在使用 AJAX 并尝试返回在 modcomp.php 文件中查询数据库后获得的变量,然后我尝试将这些值输入回我的主站点以放入输入框中。以下是我尝试过的方法,但它不起作用。这是因为我在 PHP 中获取变量,然后将它们带回到 JS/jQuery 中使用吗?进行了一些搜索,看起来 JSON 可能是答案,但是查看 JSON,我还没有看到如何运行代码来查询数据库,然后将该信息以 JSON 格式返回的示例?我的目标是最终拉回所有 10 个变量。
$.ajax({
method: "POST",
url: "modcomp.php",
data: {item: $(this).val()}
success: function(data) {
$('#itemnumber').val($itemnumber);
$('#cost').val($cost);
}
});
modcomp.php 文件
<?php
if(array_key_exists("item", $_POST)) {
include("connection.php");
$query="SELECT * FROM components WHERE itemname = '".mysqli_real_escape_string($link,$_POST['item'])."' LIMIT 1";
if ($result=mysqli_query($link,$query)) {
$row=mysqli_fetch_array($result);
$id=$row[0];
$itemnumber=$row[1];
$itemname=$row[2];
$cost=$row[3];
$company=$row[4];
$contact=$row[5];
$address1=$row[6];
$address2=$row[7];
$phone=$row[8];
$part=$row[9];
//print_r ($id." ".$itemnumber." ".$itemname." ".$cost." ".$company." ".$contact." ".$address1." ".$address2." ".$phone." ".$part);
} else {
print_r("Issue with query");
}
}
?>
最佳答案
最简单的方法就是将 jquery.ajax 设置为期望 json 作为返回:
$.ajax({
method: "POST",
dataType: "JSON",
/** others attributes **/
之后,将您的返回值转换为 json 并在 php 脚本中打印它(仅此而已,仅此而已):
//a better approach is return the column name (fetch_assoc)
echo json_encode($row);
现在,您的返回可以用作 json:
success: function(data) {
data.column_name
}
关于php - 从 AJAX/php 文件返回变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40365380/