gpt4 book ai didi

具有多个返回值的 Javascript 和 PHP ajax 调用返回未定义

转载 作者:行者123 更新时间:2023-11-29 18:43:05 25 4
gpt4 key购买 nike

我有以下代码,我正在尝试执行一个可以返回多个值的 AJAX 调用

    // Make an ajax call to insert a new row.
// Newer jquery uses done and fail instead of success and error.
$.post("add_row_item.php", {
work_order_id: 1
}).done(function(data) {
// Ajax request was successful.
console.log(data);
// Check if database query produced errors.
if(data.error != "") {
alert('Error trying to add a row - ' + data.error);
}
}).fail(function(xhr, status, error) {
// Ajax request failed.
var errorMessage = xhr.status + ': ' + xhr.statusText;
alert('Error trying to add a row - ' + errorMessage);
});

PHP 代码将返回消息编码如下:

echo json_encode(array("error" => "Error: " . mysqli_error($con)));

我在浏览器控制台上得到以下信息:

{"error":"Error: Table 'db.tutorials' doesn't exist"}

但是警报在消息中给我一个 undefined:

Error trying to add a row - undefined

有人知道我在警报部分哪里出了问题吗?

最佳答案

data其实是一个字符串,'{"error":"Error: Table 'db.tutorials' doesn't exist"}'。您可以使用 JSON.parse 将其转换为对象:

data = JSON.parse(data);

或者,指定

dataType : "json"

到您的 ajax 调用,它将在收到时自动转换(请参阅 manual)。

关于具有多个返回值的 Javascript 和 PHP ajax 调用返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55707544/

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