javascript - Ajax 使用来自 PHP 的信息

标签 javascript php jquery ajax

我在使用 AJAX 调用后从我的 PHP 文件中获得的信息时遇到了问题。 我目前有以下点击按钮后触发的 AJAX 代码:

<script>
    $(document).ready(function(){
        $('.button').click(function(){
            $.ajax({
                  type: "POST",
                  url: "nano.php",
                  data: { action: "authenticate" }
                }).done(function( msg ) {
                  alert( "Done: " + msg );
                });    
        });
    });
</script>

然后,在 nano.php 文件中我进行了一些身份验证和信息获取。在我的 PHP 代码末尾,我执行以下操作:

  print_r($member_info);
  print_r($activity_info);

在Ajax done 函数中调用的alert box 中出现了这个信息(两个数组,信息量很大),也就是说这个信息在客户端是可用的。

我希望能够处理数组并在页面上显示信息。 print_r 是发送信息的正确方法吗?之后如何在我的页面中处理和显示数组中的信息?

最佳答案

要通过 AJAX 将数组从 PHP 文件发送回 Javascript,请使用:

echo json_encode($array);

也适用于字符串。

并在 jQuery.ajax 调用中将预期的响应类型更改为 json:

$.ajax({
  type: "POST",
  url: "nano.php",
  dataType: 'json',
  data: { action: "authenticate" }
}).done(function( msg ) {
   alert( "Done: ");
   console.log(msg); // <- javascript array or object
 }); 

(或从 PHP 发送一个 application/json 内容类型 header )

关于javascript - Ajax 使用来自 PHP 的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28442942/

相关文章:

javascript - Chrome 和 Safari 的正则表达式负向前瞻

javascript - iframe 双击事件不起作用

javascript - 使用 Jinja2 将 Pandas 转换为 DataTable

javascript - 更改嵌套有另一个标签的 HTML 标签内的文本

php - 检查文件是否包含光栅或矢量元素? (pdf, eps, ai)

php - 获取类别中的帖子位置

php - mysqli 无法在连接上设置 session 时区。保持 UTC。在 RDS mysql 实例上

javascript - 保存变量的选定数据以在另一页中使用

javascript - jQuery - 选中所有/取消选中所有复选框 - 然后取消选中(或选中)其他复选框

jquery - 将圆线插入图标圆圈