pjax不能与laravel一起使用

马尔韦恩

我正在尝试设置pjax,但是它不起作用。每当我单击pjax链接时,URL都会更改为domain.com/foo(未更改html内容),然后将其更改为domain.com/#,然后将其正常重定向到domain.com/foo为什么?

这就是我触发pjax的方式: $(document).pjax('a[data-pjax]', '#wrapper');

在我的控制器中,我有这个:

public function getIndex() {
    $posts = $this->loginOptions();

    $this->layout->title = 'My title';      
    $content = View::make('foo.bar')
        ->with('title', $this->layout->title)
        ->with('posts', []);

    if (Request::header('X-PJAX'))
        return $content;
    else 
        $this->layout->content = $content;
}

我的HTML(单击链接的第一页)如下所示:

<DOCTYPE html>
<head></head>
<html>
    <body>
    <div id='wrapper'>
        <a data-pjax href='foo'>Foobar</a>
    </div>
    <script src='http://code.jquery.com/jquery-2.0.0.min.js'></script>
    <script src='jquery.pjax.js'></script>
    <script src='script.js'></script>
    </body>
</html>

如果我使用X-PJAX标头运行标准的ajax调用,我将获得正确的html(这意味着我的If正在运行),但是url并没有改变,这就是为什么我要使用pjax。

$.ajax({
    url: '/login',
    type: 'get',
    beforeSend: function(xhr){ 
        xhr.setRequestHeader('X-PJAX', true); 
        xhr.setRequestHeader('X-PJAX-Container', '#wrapper') 
    },
    success: function(resp) { $('#wrapper').html(resp); }
})
马尔韦恩

我放弃了pjax我现在使用的是history.js

Javascript:

History.Adapter.bind(window,'statechange',function(){
    var State = History.getState();
    $.ajax({
        url: State.url,
        type: 'get',
        beforeSend: function(xhr){ 
            xhr.setRequestHeader('X-PJAX', true); 
        },
        success: function(resp, status, xhr) { 
            document.title = xhr.getResponseHeader('Page-Title');
            $('#wrapper').html(resp); 
        }
    });
});

$(document).on('click', 'a[data-pjax]', function(e){
    e.preventDefault();

    var self = $(this);

    History.pushState(null, 'Loading page...', self.attr('href'));
});

PHP(控制器):

public function getIndex() {
    $this->layout->title = 'My Title';      
    $content = View::make('my.view')
        ->with('title', $this->layout->title)
        ->with('posts', []);

    if (Request::header('X-PJAX')) {
        return Response::make($content)
            ->header('Page-Title', $this->layout->title);
    } else 
        $this->layout->content = $content;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel“特使运行”命令不能与ssh键一起使用

来自分类Dev

QSignalSpy不能与线程一起使用

来自分类Dev

LibreOffice为什么不能与HUD一起使用?

来自分类Dev

redirect_to不能与ajax一起使用

来自分类Dev

maxlength不能与Karma一起使用

来自分类Dev

CharacterEncodingFilter不能与Spring Security 3.2.0一起使用

来自分类Dev

readValue()不能与TypeReference一起使用

来自分类Dev

为什么模拟不能与AsyncTask一起使用?

来自分类Dev

谷歌云打印不能与phonegap一起使用

来自分类Dev

QtQuick TableView不能与C ++-QAbstractTableModel一起使用

来自分类Dev

“ bundle exec spring”不能与rbenv一起使用?

来自分类Dev

sql <>不能与日期时间一起使用

来自分类Dev

IE显然不能与Ajax一起使用

来自分类Dev

Lucene:前缀查询不能与WhitespaceAnalyzer一起使用

来自分类Dev

角图不能与requirejs一起使用

来自分类Dev

If / ElseIf块不能与-or一起使用

来自分类Dev

NestedScrollView不能与Recyclerview一起使用

来自分类Dev

TreeWalker检查不能与Kotlin / Gradle一起使用?

来自分类Dev

Google字体不能与CSS一起使用吗?

来自分类Dev

jQuery .load()函数不能与DataTables一起使用?

来自分类Dev

必需属性不能与<form>标签一起使用

来自分类Dev

setDefaultsOnInsert不能与upsert一起使用

来自分类Dev

QML图形效果不能与PyInstaller一起使用

来自分类Dev

@Autowired时,SftpRemoteFileTemplate不能与RemoteDirectoryExpression一起使用

来自分类Dev

jQuery removeClass不能与Draggable一起使用

来自分类Dev

选择入outfile不能与休眠一起使用

来自分类Dev

LibreOffice为什么不能与HUD一起使用?

来自分类Dev

模拟不能与pytest和flexmock一起使用

来自分类Dev

谷歌云打印不能与phonegap一起使用

Related 相关文章

  1. 1

    Laravel“特使运行”命令不能与ssh键一起使用

  2. 2

    QSignalSpy不能与线程一起使用

  3. 3

    LibreOffice为什么不能与HUD一起使用?

  4. 4

    redirect_to不能与ajax一起使用

  5. 5

    maxlength不能与Karma一起使用

  6. 6

    CharacterEncodingFilter不能与Spring Security 3.2.0一起使用

  7. 7

    readValue()不能与TypeReference一起使用

  8. 8

    为什么模拟不能与AsyncTask一起使用?

  9. 9

    谷歌云打印不能与phonegap一起使用

  10. 10

    QtQuick TableView不能与C ++-QAbstractTableModel一起使用

  11. 11

    “ bundle exec spring”不能与rbenv一起使用?

  12. 12

    sql <>不能与日期时间一起使用

  13. 13

    IE显然不能与Ajax一起使用

  14. 14

    Lucene:前缀查询不能与WhitespaceAnalyzer一起使用

  15. 15

    角图不能与requirejs一起使用

  16. 16

    If / ElseIf块不能与-or一起使用

  17. 17

    NestedScrollView不能与Recyclerview一起使用

  18. 18

    TreeWalker检查不能与Kotlin / Gradle一起使用?

  19. 19

    Google字体不能与CSS一起使用吗?

  20. 20

    jQuery .load()函数不能与DataTables一起使用?

  21. 21

    必需属性不能与<form>标签一起使用

  22. 22

    setDefaultsOnInsert不能与upsert一起使用

  23. 23

    QML图形效果不能与PyInstaller一起使用

  24. 24

    @Autowired时,SftpRemoteFileTemplate不能与RemoteDirectoryExpression一起使用

  25. 25

    jQuery removeClass不能与Draggable一起使用

  26. 26

    选择入outfile不能与休眠一起使用

  27. 27

    LibreOffice为什么不能与HUD一起使用?

  28. 28

    模拟不能与pytest和flexmock一起使用

  29. 29

    谷歌云打印不能与phonegap一起使用

热门标签

归档