javascript - 动态、ajax 驱动的内容的 200 状态
问题描述
通过 ajax 动态加载内容并向浏览器的会话历史堆栈添加状态的单页网站是否应该在每次成功的状态更改时返回“200 状态”?
我网站的核心代码如下:
$(document).on('click', 'a:not([target="_blank"])', function(e) {
e.preventDefault();
history.pushState(undefined, undefined, $(this).attr('href'));
onUrlChange();
});
function onUrlChange() {
var url = window.location.pathname;
$.ajax({
type: 'POST',
url: 'engine.php',
data: {
ajaxRequest: url,
},
dataType: 'json',
});
};
engine.php
根据 URL 确定内容 - 如果 URL 不正确,它会返回404 Status
,但是200 Status
当 URL 正确时,它是否应该在每次加载页面内容时返回?
目前,每次点击链接都会返回 200 状态,但这是我的 engine.php 的状态,所以请求输出为:GET example.com/engine.php -> [HTTP/1.1 200 OK]
解决方案
如果您发出任何 HTTP 请求,并且该 HTTP 请求成功执行,您通常总是返回200
.
在某些特殊情况下,您应该使用其他2xx
状态之一,但在正常情况下,成功的 GET 请求应该返回200 OK
。
推荐阅读
- python - 为什么在 Python 包中使用绝对而不是相对导入?
- shogun - 从源代码构建 shogun 时如何在 Windows 中安装 GDB?
- c++ - 关于循环中值钳位的优化建议
- java - 使用 Redis 在 Spring Boot 应用程序和 PHP 之间共享会话
- wpf - 仅针对某些部分更改 WPF 标签中的字体粗细
- javascript - 清除搜索输入后将响应重置为 null Vue.js
- java - 什么是在这里抛出 IOException?
- reactjs - gatsbyjs,reactjs - 为什么组件渲染两次而图像没有出现?
- ios - 快速重新加载单元格后如何在单元格中保持滚动视图内容偏移
- html - 在接触和不接触垫子输入后单元测试垫子错误的存在