gpt4 book ai didi

javascript - Ajax 请求当前路径请求 `text/html` 而不是 `application/json`

转载 作者:行者123 更新时间:2023-11-30 12:28:55 33 4
gpt4 key购买 nike

我在页面加载后发出了两个几乎相同的 JQuery 请求,第一个请求当前路径的 json,第二个请求不同的 url。不过,我惊讶地发现第一个请求 typetext/html,第二个请求是 application/json。我原以为两者都是 application/json。请求看起来像这样:

$.ajax({
url: window.location.pathname,
type: 'GET',
dataType: 'json',
success: doSomething
});

$.ajax({
url: '/tags',
type: 'GET',
dataType: 'json',
success: doSomethingElse
});

然而在我看到的网络选项卡中:

enter image description here

我错过了什么?

最佳答案

dataType: 'json' 有两个主要作用:

  1. 它会导致 jQuery 忽略它从服务器返回的文档的内容类型并将其视为 JSON 而不管
  2. 它设置一个请求 JSON 的 Accept header (用于 HTTP 内容协商)

服务器可能使用HTTP content negotiation如果响应具有不同格式的不同内容表示,则决定在响应中放入什么。大多数服务器没有。

你的好像没有。它将始终为第一个 URL 返回 HTML,并始终为第二个 URL 返回 JSON。

如果您希望您的服务器关注 Accept header ,那么您必须对其进行配置(以及提供文档的 JSON 版本和 HTML 版本)。

关于javascript - Ajax 请求当前路径请求 `text/html` 而不是 `application/json`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28348632/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com