【问题标题】:Laravel JavaScript File response for JSONP response用于 JSONP 响应的 Laravel JavaScript 文件响应
【发布时间】:2015-05-31 16:32:15
【问题描述】:

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

提前感谢您的帮助

【问题讨论】:

    标签: php json laravel laravel-4 jsonp


    【解决方案1】:

    可以使用laravel提供的这个方法

    return Response::jsonp($callback, $data,$status, $header);
    

    【讨论】:

    • 谢谢。我已经看到了该功能,但我无法使用它,因为在线文档(至少对我而言)不足。您能否举例说明如何从我的问题中获得回复?
    【解决方案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
    

    希望对某人有所帮助...

    【讨论】:

      猜你喜欢
      • 2018-04-13
      • 2015-03-21
      • 1970-01-01
      • 2012-07-29
      • 1970-01-01
      • 2013-10-15
      • 2018-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多