内容类型无法正确显示

时间:2016-09-03 07:36:04

标签: php html json http-headers

我正在尝试获取设置为json的页面的内容类型。

<?php 
   header('Content-type: application/json');
   echo $requestContentType = $_SERVER['HTTP_ACCEPT'];
?>

但它返回以下结果。

text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

1 个答案:

答案 0 :(得分:0)

你正在以错误的方式看待这个问题。它是您的浏览器,它会发送您在此处看到的Accept标题。它列出了可用于呈现网页的mime类型。

因此,为了让您在该标头中获得application/json,您应该查看将请求发送到服务器的代码。在使用AJAX时,您无法对标准浏览器互动做任何事情,您更改了Accept标题。

标准XHR

var xhr = new XMLHttpRequest();
xhr.setRequestHeader('Accept', 'application/json, */*');
xhr.open("GET", 'http://the.internet.org/users');
xhr.send();

使用新的Fetch API

var headers = new Headers();
headers.append('Accept', 'application/json, */*');
fetch('http://the.internet.org/users', {
    method: 'GET',
    headers: headers
});