Ajax JSON不返回数据

时间:2015-01-18 22:38:24

标签: php jquery ajax json

我正在尝试使用jQuery / Ajax来调用一个PHP文件,以JSON格式返回所有必需的数据,但是页面只是卡住了文本" loading"在屏幕的底部。 我已经阅读了其他各种帖子,但没有人帮我解决这个问题。

$(document).ready(function() {
  $.ajax({
    type: 'POST',
    dataType: 'json',
    url: 'php/process.php',
    data: data,
    success: function(data) {
      $('.data').html(data['name']);
    }
  });
});

简单地在页面中包含PHP文件就可以毫无问题地回应JSON,它只是通过不适合我的jQuery / Ajax调用它。

<?php

$mysqli = new mysqli('localhost', 'test', 'pass@word1', 'test');
$sql = "SELECT * FROM test_json";
$result = $mysqli->query($sql);

$data = array();

if ($result->num_rows > 0) {
  while ($row = $result->fetch_assoc()) {
    array_push($data, $row);
  }
}

echo json_encode($data);

?>

非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试添加标题

<?php
header('Content-Type: application/json; charset=utf-8');

右键单击并检查元素 选择网络选项卡
选择窗口底部的XHR
检查响应标头和响应正文。

添加

echo sql_error();
print_r($data);

从Inspector我看不到请求&#34; process.php&#34;
我确实看到一个fetchposts()
fetchposts返回3个换行符和一个内容长度为5个字节的零