【问题标题】:406 Not Acceptable error on live server - JSON实时服务器上的 406 Not Acceptable 错误 - JSON
【发布时间】:2012-07-23 15:43:32
【问题描述】:

我刚刚移动了一个站点,并且在使用 jquery 向 php 脚本发出 ajax 请求时收到 406 Not Acceptable 错误。我没有在我的测试服务器上收到错误,所以我只是想找出解决这个问题的正确方法。 AJAX 请求如下,并期望 JSON 响应,而我的 php 脚本只是用json_encode() 回显。

$.ajax({
        type: "POST",
        contentType: "application/json",
        data: "{}",
        url: "server/php/progress.php",
        dataType: "json",

编辑:这是我的 php 脚本的症结所在(也尝试过不设置标题):

header('Content-type: application/json');
echo json_encode($val);
exit;

有什么想法可以解决这个问题吗? htaccess 指令?

【问题讨论】:

  • 也许progress.php 不支持POST 请求?
  • 尝试使用数据:{},没有“”,是的,我假设你关闭了你的 ajax 方法});以及检查方法;)
  • 感谢您的回复,但是在我的本地测试服务器上运行它时没有脚本错误。服务器配置中的某些内容导致触发 406 错误,这就是为什么我想可能是 htaccess 内容类型规则
  • 是否尝试从浏览器交互调用您的 php 脚本 - 如果您的脚本无法接受 GET 请求,您将需要编写一个小测试页面来发布到它?结果是什么?通常它会显示更好的错误信息。
  • 如果我从浏览器访问 php 脚本,它会正确输出我期望的数据。

标签: php json .htaccess http-headers


【解决方案1】:

不接受将根据 Accept、Accept-Charset、Accept-Language 标头触发。因此,如果您的代码相同,则很可能那里打开了与内容协商相关的一些设置。

【讨论】:

    【解决方案2】:

    啊。只需将其切换为 GET 即可解决问题。我不确定我到底为什么要使用 POST 进行检索。

    仍然不确定为什么我的本地 wamp 服务器上没有发生此问题,某些地方的 apache 设置有所不同。

    【讨论】:

      猜你喜欢
      • 2017-05-25
      • 1970-01-01
      • 2016-02-21
      • 2014-11-12
      • 2012-01-01
      • 2021-01-21
      • 2014-02-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多