【问题标题】:How is the result stored in jQuery Ajax data object on success callback成功回调的结果如何存储在 jQuery Ajax 数据对象中
【发布时间】:2023-03-10 03:48:01
【问题描述】:

我正在使用 jQuery Ajax 发送请求并在成功/失败时获得响应。

服务器端

我正在使用 POST 向另一个脚本发送请求,该脚本使用 mysql_fetch_array($query) 从 MySQL 数组中获取查询结果。当我回显这个结果时,我会显示字符串对象数据。

$strSQL = "SELECT name from builder";
$query = mysqli_query($con, $strSQL);

while($result = mysqli_fetch_array($query))
{
   echo $result["name"];           
}  

客户端

success:function(data)
{
echo data;
}

在客户端,当我尝试获取结果时,我成功使用数据,它是成功回调中的字符串对象。
对象如何存储在数据对象中 我有以下疑惑

  1. 当我从 PHP 脚本中获取数组结果并回显它时,它是如何在成功回调中复制到数据对象的。
  2. 如何分离这个结果数据对象以形成 JSON 字符串。

附录
当我获取查询结果时,我看到所有值都被复制并且不能用 split 函数分隔。如何拆分这些值。

【问题讨论】:

  • echo data; 在成功回调中,这不是在 js 中呈现/存储数据的方式。
  • @Jai 回声数据给了我这个 - "A""B""C""D""E""F ""G"
  • 你确定在js客户端你可以使用php方法吗。

标签: php jquery mysql ajax json


【解决方案1】:

使用php内部函数json_encode

【讨论】:

  • 嗨@sebastian,我应该从后端回显一个json_encoded字符串吗?
  • 是的,你应该,否则你必须在js中解析你的返回。
【解决方案2】:

在 php 中,您可以使用 json_encode 发出 json。 在jQuery的success函数中可以解析json并使用as

success:function(data)
{
//echo data;
var parsedData = $.parseJSON(data);
// use it by index numbers as

var first_element = parsedData[0];
// ans so on..
}

【讨论】:

    猜你喜欢
    • 2011-11-18
    • 1970-01-01
    • 2015-04-03
    • 2011-08-05
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    相关资源
    最近更新 更多