javascript - AJAX 响应为空

标签 javascript php jquery ajax

我已经试了大约 8 个小时了,但我还是不明白。

使用 $.ajax 我通过 PHP 脚本从我的数据库中获取数据。但在这种情况下,它似乎不起作用,我也不知道为什么。 data2 无论如何都是空的。

$.ajax({
  url: 'http://myurl.de/get', 
  data: [{ 'person_id': 2, 'action': 'getLinks' }],
  method: 'POST',
  success: function(data2){
    console.log(data2);
  }
});

PHP 脚本(重要部分)如下所示

function getLinks($person_id)
{
    /* sql here */  

    /* format sql-output here */

    return $output;
}

if($_POST['action'] == 'getLinks'){
    echo getLinks($_POST['person_id']);
}

有趣的是,我在上面几行的 JavaScript 文件中有准确的 AJAX 请求和另一个操作,它工作得很好。当我尝试直接在 PHP 文件中获取数据时,我得到了结果。返回的 $output 总是带有数据,但不会出现在 JavaScript 文件中。

AJAX 总是调用成功函数,但没有 data2。

最佳答案

尝试仅使用对象作为数据,而不将其包装在数组中:

$.ajax({
  url: 'http://myurl.de/get', 
  data: { 'person_id': 2, 'action': 'getLinks' },
  method: 'POST',
  success: function(data2){
    console.log(data2);
  }
});

关于javascript - AJAX 响应为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35523753/

相关文章:

php - 从 SMTP 远程服务器 CakePHP 3 发送电子邮件

JavaScript 函数数组

JavaScript OR (||) 变量赋值说明

javascript - 使用 javascript async Until 停止库的执行

javascript - 仅在有条件时才绘制 Lodash map

jquery - 如何在四张图片之间添加轮播?

javascript - 单击按钮时函数未定义

JavaScript 将数字生成值添加到当前设置值上

php - 无法使用 file_get_contents 找到包装器 "https"

javascript - 将 localStorage 值传递给 php