javascript - 只返回一个 json 对象给 ajax 调用者

标签 javascript json ajax

我只想在 success 回调中返回/访问一个数组。
但我只得到整个 html 页面。

$.ajax({
  'URL': 'getData.php',
  success:function(data){
    alert(data); //Whole html file
  }
})  

getData.php

<?php
 //Feed the array with database content

 echo json_encode( $columns );

?>  

我如何访问$columns的内容

Obs1:我的 php 文件仅包含 php 代码,100%。

这就是上面 alert 打印的内容:

alert

最佳答案

您的脚本包含无法解析的 HTML,因此请确保它仅返回 json 字符串。

我知道你的意思,你可以使用 JSON.parse(string) 在 javascript 中解析 PHP 发送的 json;

确保您的 php 不会返回除编码的 json 之外的任何其他字符串或 HTML。

这是您修改后的 JS,它应该按预期工作,您可以在浏览器控制台中检查所需的输出。

$.ajax({
  'URL': 'getData.php',
  success:function(data){
    data = JSON.parse(data);
    console.log(data);
    alert(data); //Whole html file
  }
})

关于javascript - 只返回一个 json 对象给 ajax 调用者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40961104/

相关文章:

javascript - AngularJS 条件 ng-disabled 不重新启用

PHP Post 变量有重复的、已修改的数据

javascript - Kineticjs中ajax调用成功后设置id属性

javascript - TypeScript 构建错误 : Property does not exist on type 'IStateParamsService'

javascript - 商店系统中的媒体查询

php - JSON 对象到 php 变量

json - Cloudformation 找不到区域 Opsworks 堆栈

xml - Expressjs 响应作为 JSON 和 Xml

javascript - 单击按钮时 Ajax 重新加载 div 内容

javascript - 使用 javascript 验证每个输入字段 Bootstrap 表单,无需点击提交按钮