首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSONP与Laravel

JSONP与Laravel
EN

Stack Overflow用户
提问于 2012-12-06 15:51:53
回答 5查看 10.7K关注 0票数 4

浏览器将JSONP请求发送给Laravel,Laravel将结果返回给browser。在brower控制台中,我收到警告:

代码语言:javascript
复制
Resource interpreted as Script but transferred with MIME type text/html:

我认为这是由于JSONP响应中的标题不正确造成的?如何修正这一警告?

代码语言:javascript
复制
$callback = Input::get('callback');
$result = DB::table('users')->find(123);

return $callback . '(' . json_encode($result) . ')';

Response::JSON($result)将返回我相信的通常的JSON响应,而不是带有回调函数名的JSONP变量。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-12-06 16:06:58

您可以在响应::json()调用中提供标题。

代码语言:javascript
复制
Response::json($result, 200, array('Content-Type' => 'application/javascript'));

JSONP的正确MIME类型是application/javascript。

票数 4
EN

Stack Overflow用户

发布于 2013-07-02 15:27:15

你可以在Lavavel 4中这样做:(原文: Tu puedes esto en Laravel 4)

代码语言:javascript
复制
Response::json($result)->setCallback(Input::get('callback'));
票数 25
EN

Stack Overflow用户

发布于 2013-10-03 15:51:10

代码语言:javascript
复制
Response::json($result)->setCallback(Input::get('callback'));

正如劳尔·杜兰所建议的,这样做更好,因为您不必操作$result。

另一个选项是echo,而不是使用响应。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13747383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档