【问题标题】:AJAX: How to receive boolean value from phpAJAX:如何从 php 接收布尔值
【发布时间】:2017-03-05 10:41:41
【问题描述】:

我有一个问题,我正在 StackOverFlow 上进行搜索,但由于某些原因,我找到的示例无法正常工作。

我有以下 Ajax 脚本(我只是将 2 个变量发送到 php 文件以检查它们是否在数组中):

    $.ajax({ url: 'info.php',
         data: {'row':row, 'col':col},
         type: 'GET',
        dataType: 'json',
         success:  function(){
              console.log(row + col);
});

但问题是我不知道如何正确地将 (PHP) 数据发送回“Ajax”以及如何捕获它:

我一直在尝试:

   echo json_encode($Result);  //Where $Result is a boolean

数据从 ajax 正确发送到 .php 文件,我收到状态 200,如果我转到 .php 文件,我还可以看到数据已正确接收。

我使用的是这里的信息: How to get true or false from PHP function using AJAX?

在这里:ajax sucess: i can not check if the returned information is true or false

我已经尝试了这两种情况的实现。如果有任何提示,我将不胜感激。

【问题讨论】:

  • success: function( data ){ console.log( data ); }
  • @u_mulder 这看起来应该可行,但出于某种原因,我在控制台中没有收到任何内容。我猜我可能在我写的东西旁边的 php 文件中遗漏了一些东西?
  • 您是否在控制台中看到对info.php 的请求?
  • @u_mulder 不在我的控制台中。什么都没有。但我可以看到,在“网络”选项卡中,数据包已成功发送,如果我手动转到 info.php,我也可以看到它成功完成了任务。
  • 如果请求已发送 - 你得到了什么响应?

标签: php jquery json ajax get


【解决方案1】:

我会根据您的情况检查几件事 - 首先是,正如您已经检查过的,确保您收到的回复是有效的。因为它是 200,我们可以排除它。

我要检查的第二件事是您的数据以正确的 json 格式返回,因为当您指定“数据类型:'json'”时,您是在告诉 ajax 调用“将其视为 json 对象” ,这意味着如果格式错误,您实际上会收到错误。

尝试向您的 ajax 对象添加错误函数:

$.ajax({
    url: 'info.php',
    data: {'row': row, 'col': col},
    type: 'GET',
    dataType: 'json',
    success:  function() {
        console.log(row + col);
    },
    error: function(jqXHR, textStatus, errorThrown) {
        console.log(errorThrown);
    }
});

这至少会告诉你输出是否正确返回。

如果在那之后您仍然没有得到输出,则可能是 console.log 被您正在使用的库占用,所以不妨尝试使用 alert() 代替。除此之外,我们可能需要更多信息,所以请告诉我,一旦错误功能到位,会发生什么。

【讨论】:

  • 好主意。我试过这个,事实上我确实收到了一个错误。 “位置 0 处的 JSON 中的意外标记 a”。我会尝试按顺序制作格式,也许这会修复错误。
猜你喜欢
  • 2020-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多