php - Laravel 4 如何使用 ajax 和 json 返回多个 View 数据?

标签 php jquery ajax json laravel

基本上我正在尝试使用此 ajax 制作弹出窗口:

$.ajax({
    type: 'GET'
    url: 'news/read'
    dataType: 'json'
    cache: false
    timeout: 10000
}).done (msg) ->
    $("article#pop-read").empty().html msg.view
    processing = false
    window.history.pushState
        path: msg.url
        , "", msg.url
    false

我正在返回一个 View 值,它的 url 是这样的:

$data = json_encode(array(
        'view' => View::make('layouts.read'),
    'url' => 'news/read/2013/11/24/test-title-seperate-with-dash'
));
return $data;

除了我无法从 laravel 获取 View 值(它在 javascript 中返回 Object object)之外,这一切都非常有效。但如果我直接像 return View::make('layouts.read') 这样写,它会很好地返回。这是为什么?

另外(不必回答,不是主要问题),当我使用 pushState 时,浏览器上的后退按钮不起作用,这是一个错误吗?

最佳答案

你可以试试这个

$data = json_encode(array(
    'view' => (String)View::make('layouts.read'),
    'url' => 'news/read/2013/11/24/test-title-seperate-with-dash'
));
return $data;

此外,您还可以使用

View::make('layouts.read')->render();
View::make('layouts.read')->__toString();

此外,Laravel 出于同样的原因提供了 Response::json() 方法(而不是 json_encode)。

关于php - Laravel 4 如何使用 ajax 和 json 返回多个 View 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20174608/

相关文章:

javascript - 如何使用codeigniter上传ajax文件

jquery - 渲染响应不适用于 jquery ajax 请求

php - 如何在 laravel 的 cookie 上设置安全标志

php - 在 iOS 上运行 PHP?

javascript - 如何在 html 表格中显示 php 响应的数据

php - xmlhttp.send() 和 PHP $_POST[]

java - Servlet的响应不刷新JSP

php - 获取具有所有属性的 Laravel 模型

javascript - Facebook 登录仅显示按钮

javascript - ajax成功功能无法更改按钮文本