浏览器将JSONP请求发送给Laravel,Laravel将结果返回给browser。在brower控制台中,我收到警告:
Resource interpreted as Script but transferred with MIME type text/html:我认为这是由于JSONP响应中的标题不正确造成的?如何修正这一警告?
$callback = Input::get('callback');
$result = DB::table('users')->find(123);
return $callback . '(' . json_encode($result) . ')';Response::JSON($result)将返回我相信的通常的JSON响应,而不是带有回调函数名的JSONP变量。
发布于 2012-12-06 16:06:58
您可以在响应::json()调用中提供标题。
Response::json($result, 200, array('Content-Type' => 'application/javascript'));JSONP的正确MIME类型是application/javascript。
发布于 2013-07-02 15:27:15
你可以在Lavavel 4中这样做:(原文: Tu puedes esto en Laravel 4)
Response::json($result)->setCallback(Input::get('callback'));发布于 2013-10-03 15:51:10
Response::json($result)->setCallback(Input::get('callback'));正如劳尔·杜兰所建议的,这样做更好,因为您不必操作$result。
另一个选项是echo,而不是使用响应。
https://stackoverflow.com/questions/13747383
复制相似问题