【问题标题】:Localhost returns 404.3 when fetching json through ajax (Windows 8.1)本地主机通过 ajax 获取 json 时返回 404.3 (Windows 8.1)
【发布时间】:2014-04-13 19:47:22
【问题描述】:

因此,当我尝试使用 AXAJ 通过 localhost 上的 WebMatrix 访问启动站点(或更多测试应用程序呵呵)的 .json 文件时,我遇到了臭名昭著的 404.3 错误。

是的,我知道 IIS 配置。我在 Windows 8.1(x64) 上,所以我什至不得不单独打开 MIME 类型功能。我用application/javascript.json 配置了一个MIME 类型。然后我去给*.json添加了一个处理程序,指向C:\WINDOWS\system32\inetsrv\asp.dll。我将动词设置为 GET 和 POST(这些是我在 ajax 函数中使用的)。我还尝试取消选中“仅当请求映射到...时才调用处理程序”无济于事。

我正在使用一个函数将数据发送到 PHP 文件,该文件将其写入 JSON 文件,然后另一个函数直接从 JSON 文件中获取数据。通过 PHP 编写工作。抓取没有。我完全不知所措,有人有什么想法吗?我用来获取数据的代码是你的沼泽标准 ajax:

function getDate(path, callback) {
var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
     if (httpRequest.readyState === 4) {
        if (httpRequest.status === 200) {
            var data = JSON.parse(httpRequest.responseText);
            if (callback) callback(data);
        }
     }
  };
  httpRequest.open('GET', path);
  httpRequest.send(); 
}

当我在我的服务器空间上托管它时,它工作得很好。但我也想让它在本地工作以进行测试。

【问题讨论】:

    标签: ajax json iis windows-8.1 webmatrix


    【解决方案1】:

    如果写入文件有效但提取无效。然后你应该检查文件的链接。

    名称所指的错误 404 是文件名错误。没有任何其他类型的错误,即使 Ajax 请求工作正常并给出错误 404(找不到文件)。因此,您唯一能做的就是确保在获取数据时使用正确的链接。

    这里可以提供帮助,当您通过 Ajax 发送请求时,您的浏览器控制台中有一个网络选项卡。打开它,然后查找请求。它会以红色表示错误并单击它。您会看到您提供的链接无效。

    然后在文件链接中查找错误并更新它。

    【讨论】:

    • 文件链接正确。不只是404,是404.3,意思是MIME类型限制。这意味着可以看到文件,但无法识别该文件。即使我将 IIS 配置为识别 .JSON 文件。
    【解决方案2】:

    我竭尽全力清理我的个人资料...

    当您需要 JSON 格式或任何文件时,您必须在请求中指定所需的数据类型,IIS 不会做出任何假设。所以

    xhr.setRequestProperty('Content-Type', 'application/json');
    

    是不可忘记的。我还设置了 X-Requested-With 标头。请注意,为了重现此问题,我使用了安装在 Windows 10 Pro 上的 IIS,因此不是完全相同的系统(3 年后 - 天哪!)。

    【讨论】:

      猜你喜欢
      • 2018-03-08
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2018-09-06
      • 2010-10-02
      • 2018-01-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多