【发布时间】:2015-10-05 10:59:57
【问题描述】:
我有以下代码:
<?php
function isAjaxRequest() {
return (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
}
var_dump(isAjaxRequest());
if (isAjaxRequest()) {
echo json_encode(['ajax' => true]);
exit(0);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
Test
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
$(function () {
$.get("/", function () {
console.log(arguments);
});
});
</script>
</body>
</html>
当我按 Ctrl+W(关闭选项卡)然后按 Ctrl+Shift+T(重新打开刚刚关闭的选项卡)时,我得到 JSON 响应HTML 页面。
这是为什么呢?
【问题讨论】:
-
它可以在 Chrome 版本 45.0.2454.101 m (64-bit) 中重现
标签: javascript php json ajax