📜  什么是正确的 JSON 内容类型?

📅  最后修改于: 2022-05-13 01:56:32.630000             🧑  作者: Mango

什么是正确的 JSON 内容类型?

Content-Type是一个 HTTP 标头,用于指示资源的媒体类型,在响应的情况下,它告诉浏览器返回内容的实际内容类型是什么。如果有任何 POST 或 PUT 请求,客户端会告诉服务器发送的数据类型。
要了解浏览器将要遇到的内容类型,它会进行 MIME 嗅探。 MIME 或多用途 Internet 邮件扩展是非文本电子邮件附件的规范。它允许邮件客户端或 Web 浏览器通过电子邮件以附件形式发送和接收不同的文件格式。对于接收 JSON 请求,重要的是要提及或告诉浏览器它将接收的请求类型。所以我们通过在 Content-Type 中提及它来设置它的 MIME 类型。我们可以通过两种方式来做同样的事情:

  • MIME 类型:应用程序/json
  • MIME 类型:应用程序/javascript

MIME 类型:应用程序/json
当不知道如何使用这些数据时使用它。当信息只是以 JSON 格式从服务器中提取时,它可能是通过链接或从任何文件中提取的,在这种情况下,它会被使用。在这种情况下,客户端只获取 JSON 格式的数据,可以用作数据的链接,并且可以由任何前端框架实时格式化。

  • 示例:在此示例中,MIME 类型为application/json ,因为它只是从该变量中提取字典并将其放入 JSON 格式并显示它。
php
 1, 'Name' => 'Geeks' ],
    ['Id'=> 2, 'Name' => 'for'],
    ['Id'=> 3, 'Name' => 'Geeks'],
      ];
// Shows the json data
echo json_encode($dir);
?>


php
 1, 'Name' => 'Geeks' ],
    ['Id'=> 2, 'Name' => 'for'],
    ['Id'=> 3, 'Name' => 'Geeks'],
      ];
 
// Making a function call to the client side 
// using Function_call()
// Sending JSON data as a parameter to client.
echo "Function_call(".json_encode($dir).");";
 
?>


  • 输出:
[{"Id":1, "Name":"Geeks"}, {"Id":2, "Name":"for"}, {"Id":3, "Name":"Geeks"}]

MIME 类型:应用程序/javascript
它在预定义数据的使用时使用。它由客户端 ajax 应用程序调用的应用程序使用。当数据是 JSON-P 或 JSONP 类型时使用它。当 API 被包装在函数调用中时,使用 JSONP 或带有填充的 JavaScript 对象表示法。该函数在客户端 JavaScript 代码中定义,API 作为参数传递给它,因此它充当可执行的 JavaScript 代码。

  • 示例:在此示例中,MIME 类型为 application/javascript,因为它只是从变量中提取字典,以 JSON 格式提取它,然后将其作为参数发送到客户端的函数调用。

PHP

 1, 'Name' => 'Geeks' ],
    ['Id'=> 2, 'Name' => 'for'],
    ['Id'=> 3, 'Name' => 'Geeks'],
      ];
 
// Making a function call to the client side 
// using Function_call()
// Sending JSON data as a parameter to client.
echo "Function_call(".json_encode($dir).");";
 
?>
  • 输出:
Function_call([{"Id":1, "Name":"Geeks"}, {"Id":2, "Name":"for"}, 
{"Id":3, "Name":"Geeks"}])

建议使用application/json而不是application/javascript ,因为 JSON 数据不被视为 javascript 代码。它是一个标准,因此被赋予了一个单独的内容类型,即application/json