我有这个config.yml:
fos_rest:
routing_loader:
default_format: json
view:
mime_types:
jsonp: ['application/javascript']
formats:
jsonp: true
jsonp_handler:
callback_param: callback
mime_type: application/javascript
当我打电话给example.com/app_dev.php/api/users/1.jsonp?callback=toto时,我已经用纯HTML格式得到了这个回应:
找不到" GET /api/users/1.jsonp"
的路线
当我将配置文件更改为:
时fos_rest:
routing_loader:
default_format: json
view:
mime_types:
jsonp: ['application/javascript']
formats:
jsonp: true
jsonp_handler:
callback_param: callback
mime_type: application/javascript
format_listener:
rules:
- { path: '^/api', priorities: ['jsonp','json', 'xml', 'html'], fallback_format: json, prefer_extension: true }
错误仍然相同,但json编码。
如果我将application/javascript
修改为application/javascript+json
,则Chrome无法显示结果
PS:一切都符合标准格式:html,xml,json
答案 0 :(得分:0)
此链接显示更简单的配置: http://symfony.com/doc/current/bundles/FOSRestBundle/2-the-view-layer.html#jsonp-custom-handler
所以试试:
# app/config/config.yml
fos_rest:
view:
jsonp_handler: ~
看看是否有效。