【问题标题】:Jquery ajax requesting not working in FF and safari, working in chromeJquery ajax 请求不在 FF 和 safari 中工作,在 chrome 中工作
【发布时间】:2018-06-09 15:38:27
【问题描述】:

我已经尝试了互联网上的所有解决方案,但没有任何效果,所以要问问题。

我正在向返回 JSON 数据的 PHP 脚本发送 ajax 请求。 JSON 数据在 chrome 中完美显示,但在 firefox 和 safari 中显示 parseError。

AJAX 请求是:

$.ajax({
          type: "POST",
          url: "jjtest.php",
          data: {"sId": sId},
          dataType: "json",

            success:function(msg){
            console.log(msg);
            },
            error: function(jqXHR, textStatus, errorThrown){
                   console.log(errorThrown);
            }

});

PHP 脚本是:

<?php
 header('Content-type: application/json');

 $sId = $_REQUEST['sId'];

 include_once("DBConnection.php");

  $stmt= $db->prepare("SELECT tName,time, timeleft FROM new_booking WHERE sId = ?");
  $stmt->bind_param("s", $sId);
  $stmt->execute();
  $stmt->bind_result($teacherName, $timeleft, $time);
  if ($stmt->fetch()){
   $arr = array('teacher' => (string)$teacherName, 'time' => (string)$time, 'timeleft' => (string)$timeleft);
   echo json_encode($arr);


  }
  $stmt->close();



?>

我已经尝试过:

  • 向 php 添加内容类型
  • 向 ajax 添加内容类型
  • 将 async false 添加到 ajax
  • 将缓存 true 添加到 ajax
  • JSON_FORCE_OBJECT 添加到json_encode
  • 将所有字符串值传递给json_encode
  • 从 ajax 中删除 dataType
  • 设置dataType = text
  • 还有很多我忘记了
    从 1.5 天开始挣扎。

更新

FF中的错误是:

SyntaxError: JSON.parse: JSON 数据的第 2 行第 1 列的数据意外结束

但在 chrome 中,同样可以正常工作。

返回 JSON 响应是:

{
  "teacher": "Lucy",
  "time": "240",
  "timeleft": "240"
}

所以,今晚请帮我睡个好觉

【问题讨论】:

  • 错误说明了什么?
  • 我更新了qstn,请看
  • 是的,一样。适用于chrome,但不适用于FF。如果我设置 ajax 的 dataType 等于 text 那么它显示在 FF 而不是 chrome
  • @madflow 在哪里添加这些条件?成功了吗? ryt?我试试

标签: javascript php jquery ajax


【解决方案1】:

抱歉,错误在于发送到 php 脚本的请求 ID。我已经纠正了。 Ajax 很好。

【讨论】:

    猜你喜欢
    • 2010-12-01
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多