感谢你来到这里
我真的很激动
盼望,能有你的支持
捐赠可扫描二维码转账支付
支付宝扫一扫付款
微信扫一扫付款
(微信为保护隐私,不显示你的昵称)
Request
有一个 "format" (如 html
, json
), 用于决定在 Response
对象中返回何种类型的内容。实际上,请求格式(request format)可透过 getRequestFormat()
来访问,它用于设置 Response
对象里面 Content-Type
头的MIME type。在内部,Symfony内含全部常见格式 (如 html
, json
) 以及它们所关联的MIME types (如 text/html
, application/json
) 之间的映射。当然,附加的 format-MIME type 入口(entries),也可以轻松添加。 本文将展示如何添加 jsonp
格式连同其对应的MIME type。
FrameworkBundle注册了一个subscriber,可以对到来的请求添加格式。
你要做的就只是配置 jsonp
格式:
1 2 3 4 5 | # app/config/config.yml
framework:
request:
formats:
jsonp: 'application/javascript' |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!-- app/config/config.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:framework="http://symfony.com/schema/dic/symfony"
xsi:schemaLocation="http://symfony.com/schema/dic/services
http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/symfony
http://symfony.com/schema/dic/symfony/symfony-1.0.xsd"
>
<framework:config>
<framework:request>
<framework:format name="jsonp">
<framework:mime-type>application/javascript</framework:mime-type>
</framework:format>
</framework:request>
</framework:config>
</container> |
你也可以关联多个mime type到一种格式上,但请注意首选的那个必须排在第一位,因为它将被用作content type:
1 2 3 4 5 | # app/config/config.yml
framework:
request:
formats:
csv: ['text/csv', 'text/plain'] |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <!-- app/config/config.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:framework="http://symfony.com/schema/dic/symfony"
xsi:schemaLocation="http://symfony.com/schema/dic/services
http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/symfony
http://symfony.com/schema/dic/symfony/symfony-1.0.xsd"
>
<framework:config>
<framework:request>
<framework:format name="csv">
<framework:mime-type>text/csv</framework:mime-type>
<framework:mime-type>text/plain</framework:mime-type>
</framework:format>
</framework:request>
</framework:config>
</container> |
本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。