我无法从 $.ajax() 请求访问 JSON 结果。选择汽车型号后,我会从 api 获得结果,但我无法访问 JSON 响应以获取传播新下拉列表所需的信息。HTML<div class="row"> <div class="form-group col"> <label>Make</label> <select class="custom-select" id="vMake"> <option selected="" disabled="">Choose Make</option> <?php require "config.php"; $sql = "SELECT * FROM tbl_cars"; $stmt = $pdo->prepare($sql); $stmt->execute(); $cars = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($cars as $cars) { echo "<option id='".$cars['make']."' value='".$cars['make']."'>".$cars['make']."</option>"; } ?> </select> </div> <div class="form-group"> <label>Model</label> <select class="custom-select col" id="vModel"> </select> </div></div>JS$(document).ready(function(){ $('#vMake').on('change', function(){ var make = $(this).val(); var url = "https://vpic.nhtsa.dot.gov/api/vehicles/GetModelsForMake/" + make + "?format=json"; $.ajax({ url: url, type: "GET", dataType: "json", }).done(function(data){ $('#vModel').empty(); $.each(data, function(i, e){ var model = data[i].Model_Name; $('#vModel').append('<option value="' + model +'">'+ model + '</option>'); }); }); });})我正在尝试获取结果的模型名称。但如下图所示,我在第二个下拉列表中未定义。我怎样才能得到我需要的信息?
1 回答

缥缈止盈
TA贡献2041条经验 获得超4个赞
首先,删除这个:
var data;
您已经data
在该函数中调用了一个变量,因此如果该行正在执行任何操作,它将覆盖该变量并生成整个undefined
. (如果它不这样做,它仍然完全是多余的,只会让你感到困惑。)
除此之外,从您的 JSON 看来,您想要循环的不是data
,而是data.Results
:
$.each(data.Results, function(i, e){ //... });
添加回答
举报
0/150
提交
取消