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

2021年3月17日18:47:53 发表评论 828 次浏览

内容类型是一个HTTP标头, 用于指示资源的媒体类型, 在响应的情况下, 它告诉浏览器返回内容的实际内容类型是什么。如果有任何POST或PUT请求, 则客户端将向服务器告知发送的数据类型。

要了解浏览器将要遇到的内容类型, 它会进行MIME检测。 MIME或多用途Internet邮件扩展名是非文本电子邮件附件的规范。它允许邮件客户端或Web浏览器通过电子邮件发送和接收不同的文件格式作为附件。对于接收JSON请求, 重要的是提及或告知浏览器它将要接收的请求类型。因此, 我们通过在content-type中提及它来设置其MIME类型。我们可以通过两种方式做同样的事情:

  • MIME类型:application / json
  • MIME类型:application / javascript

MIME类型:application / json

在不知道如何使用此数据时使用。当仅以JSON格式从服务器提取信息时, 可以通过链接或任何文件(在这种情况下)使用。在这种情况下, 客户端仅获取JSON格式的数据, 该数据可用作数据的链接, 并且可以由任何前端框架实时格式化。

  • 例子:在此示例中, MIME类型为应用程序/ json因为它只是从该变量中提取字典并将其以JSON格式显示。
    filter_none

    编辑

    play_arrow

    链接
    亮度_4
    代码

    <?php
      
    // Setting the header
    header( 'Content-type:application/json' );
      
    // Initializing the directory 
    $dir =[
         [ 'Id' => 1, 'Name' => 'Geeks' ],
         [ 'Id' => 2, 'Name' => 'for' ],
         [ 'Id' => 3, 'Name' => 'Geeks' ],
           ];
      
    // Shows the json data
    echo json_encode( $dir );
    ?>

    chevron_right

     
        

    filter_none

     
        

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

MIME类型:application / javascript

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

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

    编辑

    play_arrow

    链接
    亮度_4
    代码

    <?php
      
    // Using application/javascript
    header( 'Content-type:application/javascript' );
    $dir =[
         [ 'Id' => 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 ). ");" ;
      
    ?>

    chevron_right

     
        

    filter_none

     
        

  • 输出如下:
    Function_call([{"Id":1, "Name":"Geeks"}, {"Id":2, "Name":"for"}, {"Id":3, "Name":"Geeks"}])

建议使用应用程序/ json代替应用程序/ javascript因为JSON数据不被视为javascript代码。这是一个标准, 因此被赋予了单独的内容类型, 例如应用程序/ json.


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: