我想为JSONP数据交换生成一个JavaScript文件。 一切都很好,但我需要/想要将标题设置为:
header("Content-Type: text/javascript");
或
header("Content-Type: application/javascript");
这是否可能来自Laravel 4中的控制器的响应,或者我是否需要创建视图并使用PHP设置标头?
我想输出类似的内容:
var obj = JSON.parse('{"item1":"value1","item2":"value2"}');
// then do whatever with the object
$('#somediv').html(obj.item1);
感谢您的提前帮助
答案 0 :(得分:2)
好吧,看起来我必须自己回答我的问题:-)。感谢@terrylow尝试。
以下是使用我的控制器中的函数更改响应标题的方法
public function javascriptResponse(){
$statusCode = 200;
$content = "var obj = JSON.parse('{\"item1\":\"value1\",\"item2\":\"value2\",\"some\":\"whoaevaNew\"}');";
$response = Response::make($content, $statusCode);
$response->header('Content-Type', 'application/javascript');
return $response;
}
变量内容也可以用视图填充:
$content = View::make('tools/jsonp_resonse'); // also possible with view
希望能帮到某人......
答案 1 :(得分:0)
您可以使用laravel提供的此方法
return Response::jsonp($callback, $data,$status, $header);