用于JSONP响应的Laravel JavaScript File响应

时间:2015-03-27 10:59:59

标签: php json laravel laravel-4 jsonp

我想为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);

感谢您的提前帮助

2 个答案:

答案 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);