Jquery ajax请求不在FF和safari中工作,使用chrome

时间:2018-06-08 12:11:51

标签: javascript php jquery ajax

我已尝试过互联网上的所有解决方案,但没有任何作用,所以要问问题。 <
我正在向PHP脚本发送ajax请求,该脚本返回JSON数据。 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"
}

所以,请帮我今晚舒服地睡觉

1 个答案:

答案 0 :(得分:0)

抱歉,问题是发送到php脚本的请求ID。我纠正了这一点。阿贾克斯很好。