gpt4 book ai didi

javascript - 如何在AJAX成功函数中获取json数据

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

这是我用于获取下拉记录的 AJAX 代码。

function item_value() {
$.ajax({
type: "POST",
url: "ajax.php",
contentType: "application/json; charset=utf-8",
async: false,
data: data,
dataType: "json",
success: function (json) {
if (json == '') {
alert('No Records');
} else {
alert(json);
$.each(json, function (index, elem) {
$("#item_select1").append("<option value=\"" + elem.value+ "\">" + elem.name+ "</option>");
});
}
}
});
}

该文件用于在AJAX成功时拉取记录或获取记录。

Ajax.php

<?php
include('../dbconnection/comp_connect.php');
$qry_item="SELECT item_id,item_name,item_unit,rate,description,tax_id,status FROM item";
$view_item=$conn->prepare($qry_item);
$view_item->execute();
$rs_item=$view_item->fetch((PDO::FETCH_ASSOC))
$data = array('item_name' =>$rs_item['item_name'],
'item_unit'=>$rs_item['item_unit'],
'rate'=>$rs_item['rate'],
'description'=>$rs_item['description'],
'tax_id'=>$rs_item['tax_id']
);
echo json_encode($data);
?>

最佳答案

看起来您在 PHP 中创建的数据与您在 AJAX 成功函数中尝试执行的操作不一致。 PHP 代码从数据库中获取一行 行,因此它将返回的 JSON 如下所示:

{
"item_name": "something",
"item_unit": "something",
"rate": "something",
"description": "something",
"tax_id": "something"
}

但这部分是你成功的函数

$.each(json, function (index, elem) {
$("#item_select1").append("<option value=\"" + elem.value + "\">" + elem.name + "</option>");
});

需要具有 namevalue 属性的对象集合 (elem)。相反,根据您从 PHP 获得的内容,每个 elem 将是一个字符串或数字,因此 elem.valueelem.name 将未定义。

由于您使用它来将选项附加到选择,因此您的 PHP 需要返回多行,并且您在 PHP 中分配的键需要与您在 success 函数中引用的属性相匹配。像这样的东西应该更接近你想要的。

<?php
include('../dbconnection/comp_connect.php');
$qry_item = "SELECT item_id, item_name FROM item";
$view_item = $conn->prepare($qry_item);
$view_item->execute();
while ($item = $view_item->fetch((PDO::FETCH_ASSOC)) {
$data[] = ['value' => $rs_item['item_id'], 'name' => $rs_item['item_name']];
}
echo json_encode($data);

关于javascript - 如何在AJAX成功函数中获取json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39748570/

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