gpt4 book ai didi

php - jQuery AJAX 函数 - 数据未传递

转载 作者:行者123 更新时间:2023-12-01 06:11:11 24 4
gpt4 key购买 nike

不确定我在这里做错了什么,但我有以下 AJAX 功能。 console.log(make_id);但是工作正常data: {make:make_id},似乎没有传递到/get_models.php - 这行代码 $make_id = $POST['make'];

$(document).ready(function() {
$("#select_make").change(function() {
var make_id = $(this).val();
console.log(make_id);
$.ajax({
url: '/car_clearance_form/get_models.php',
type: 'post',
data: {
make: make_id
},
dataType: 'json',
success: function(response) {
console.log(response);
var len = response.length;
$("#select_model").empty();
for (var i = 0; i < len; i++) {
var model_id = response[i]['model_id'];
var model_name = response[i]['model_name'];
$("#select_model").append("<option value='" + model_id + "'>" + model_name + "</option>");
}
}
});
});
});

这是 get_models.php 的代码

我收到以下错误 PHP Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given$sql似乎返回 false,如 $make_id没有从 AJAX 函数传递任何东西

<?php
include "config.php";
$make_id = $POST['make'];
$sql = "SELECT model_name, model_id FROM models WHERE make_id = ".$make_id;
$result = mysqli_query($con, $sql);
$models_array = array();
while ($row = mysqli_fetch_array($result) ) {
$model_id = $row['model_id'];
$model_name = $row['model_name'];
$models_array = array("model_id" => $model_id, "model_name" => $model_name);
}
// encoding array to JSON format
echo json_encode($models_array);
?>

最佳答案

几个问题:

1) 正如BeingSunny 指出的那样,$POST['Make']是一个错字,应该是 $_POST['make']

2)正如BeingSunny和我所指出的,当你说你的console.log是“...仅返回 $models_array 中的最后一项”,这实际上不是真的。

真正的问题是 $models_array 仅包含数据库结果中的最后一项。 console.log 准确地报告了它所给出的内容。造成这种情况的根本原因是 $models_array = array("model_id" => $model_id, "model_name" => $model_name);每次循环运行时都会覆盖 $models_array 变量。

$models_array[] = array("model_id" => $model_id, "model_name" => $model_name);

将解决这个问题,因为它将向数组添加一个新条目,而不是完全删除整个变量。

另请注意我对您易受 SQL 注入(inject)攻击的漏洞的评论。尽管这与问题没有直接关系,但这肯定是您应该紧急解决的问题。

关于php - jQuery AJAX 函数 - 数据未传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47890617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com