我无法找到解决此问题的方法。
我很难用这段代码。根据我搜索的内容:
HTTP/1.1 200 OK
- 表示页面正常或正常。
我不明白这个头功能部分。
它实际上是代码的一部分。
我的问题是:
为什么此代码正在发送header('HTTP/1.1 200 OK');
?我知道这段代码意味着页面很好,但为什么我们发送这段代码?
什么是缓存控制部分,如果代码发送了会发生什么?
什么是Expires:
,日期是1970年? (请简单解释)
如果代码发送标题('Content-type: application/json');
此部分会发生什么,为什么我们发送此内容?
代码在这里:
function json_response( $data, $error=false ) {
if( $error )
header('HTTP/1.1 500 JSON Error');
else
header('HTTP/1.1 200 OK');
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 01 Jan 1970 00:00:00 GMT');
header('Content-type: application/json');
// Convert strings/integers into an array before outputting data...
if(!is_array($data))
echo json_encode(array($data), true);
else
echo json_encode($data, true);
exit;
}
答案 0 :(得分:1)
为什么这段代码发送“header('HTTP / 1.1 200 OK');”?我知道这段代码意味着页面很好,但为什么我们发送这段代码?? _
这会告诉您的浏览器找到了所请求的脚本。然后broswer可以假设它也将获得一些其他数据。
什么是缓存控制部分?如果代码发送了什么会发生什么?_
这告诉浏览器和中间缓存,不要缓存我发送的数据。这样,当您对此数据发出第二次请求时,它必须转到您的服务器并重新运行数据收集过程,而不是从浏览器缓存或互联网上的某个中间缓存获取数据,在您的broswer和你的服务器。
什么是“过期:”?而日期是1970年? (请简单解释)_
这又是缓存控制。是说缓存应该在1970年到期,换句话说,如果你有缓存,你应该删除它,因为1970年是很久以前。
如果代码发送标头会发生什么('Content-type:application / json');这部分?为什么我们发送这个??? _
这是告诉浏览器您发送的数据是JSON格式,因此如何处理它,在您的情况下,它意味着将发送的JSON字符串转换为javascript对象,以便javascript代码可以处理它作为本机对象,而不必手动将JSON字符串转换为Javascript对象。
答案 1 :(得分:0)
您只需返回浏览器,其中包含类型为json(header('Content-type: application/json');
)的内容,该内容将在检索(header('Expires: Mon, 01 Jan 1970 00:00:00 GMT');
)后直接过期。如果您的浏览器尚未过期已收到的代码并再次请求它,您将说明这些代码不应在缓存中使用。相反,它应该再次从服务器检索(header('Cache-Control: no-cache, must-revalidate');
)。
header('HTTP/1.1 200 OK');
只是设置在你的代码前面设置了另一个标题(我认为)。通常,如果没有标题集,可以省略。
答案 2 :(得分:0)
代码从脚本返回json格式数据。
如果没有错误,标题会返回HTTP / 1.1 200 OK,这意味着,数据将打印到页面。
缓存控制意味着您请求的数据无法写入内存 - 这意味着,每次加载页面时,都必须重新加载从页面获取的数据。
过期 - 我想它存在同样的原因是Cache-control,如果过期日期总是在过去,这意味着,每次你访问页面时,你都会重新加载它给你的所有数据。
Application / json指定脚本返回的数据应该被视为JSON类型,什么是JSON,谷歌那样。