gpt4 book ai didi

javascript - 将 ajax 响应设置为变量以使其成为对象

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

这里是返回的数据

name: "Doe, John ", salary: "1000"

这是代码

$.ajax({
url: 'ajax.php',
method: 'POST',
data: {id: name.val()},
success: function(data){
var payObject = {data};
alert(payObject["name"]);
}
}};

它总是返回未定义,我该如何解决这个问题?

这是数据库中的员工表

name       salary
Doe, John 1000

这是ajax.php

<?php
include 'db.php';
$sql = $db->query("SELECT * FROM employee");
$res = mysqli_fetch_assoc($sql);
echo 'name:"'.$res['name'].'", salary: "'.$res['salary'].'"';
?>

最佳答案

您仅返回一个不能被 JavaScript 本身用作对象的字符串。要解决此问题,您可以将数据库数据转换为 JSON,然后简单地返回 JSON。在 JavaScript 中,您可以轻松地将 JSON 字符串转换为 JavaScript 对象,并像任何其他 JavaScript 对象一样使用它。

要将 PHP 数组转换为 JSON 字符串,请使用 PHP 函数 json_encode所以你的 PHP 代码将如下所示

<?php
include 'db.php';
$sql = $db->query("SELECT * FROM employee");
$res = mysqli_fetch_assoc($sql);
echo json_encode($res); // convert PHP associative array to JSON string
?>

现在您只需使用 JSON.parse() 将 JSON 字符串转换为 JavaScript 对象即可或者利用 jQuery 的 dataType:'json' 参数的优势

$.ajax({
url: 'ajax.php',
method: 'POST',
data: {id: name.val()},
dataType: 'json', // convert JSON string to JavaScript object
success: function(data){
var payObject = data;
alert(payObject["name"]);
}
}};

关于javascript - 将 ajax 响应设置为变量以使其成为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46638087/

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