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

带有多个返回值的Javascript和PHP ajax调用返回未定义的值,javascript,php,ajax,Javascript,Php,Ajax,我有以下代码,我正试图使用这些代码执行一个可以返回多个值的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

我有以下代码,我正试图使用这些代码执行一个可以返回多个值的
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"}
但该警报在消息中给了我一个
未定义的

Error trying to add a row - undefined

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

数据实际上是一个字符串,
'{“error”:“error:Table'db.tutorials'不存在”}
。可以使用以下命令将其转换为对象:

或者,指定

dataType : "json"

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

您在浏览器控制台中查看了吗?是的,这就是我得到的
{“错误”:“错误:表'db.tutorials'不存在”}
dataType : "json"