成功获取GET后,Pjax不会替换数据

时间:2013-03-28 15:22:08

标签: jquery ruby-on-rails ajax pjax

我正在尝试让PJAX使用我的Rails应用程序,并且他们的请求是成功的,因为我在控制台中看到响应中的新html内容,但内容不会被替换。我从jquery.pjax得到以下错误。

Uncaught TypeError: Object function ( selector, context ) {
    // The jQuery object is actually just the init constructor 'enhanced'
    return new jQuery.fn.init( selector, context, rootjQuery );
} has no method 'parseHTML' 

我的pjax代码是

$(document).pjax('a','.main-container', {timeout:5000, replace: true})

3 个答案:

答案 0 :(得分:0)

好吧,好像它似乎与pjax jquery有关,期望整页解析,但我使用的是我的rails控制器的无布局响应,所以它不知道如何解析它。我将jquery.pjax.js中的第585行更改为以下内容,现在可以正常工作:

function parseHTML(html) {
  //return $.parseHTML(html)
  return html
}

答案 1 :(得分:0)

试试Wiselinks。它更容易使用和实现Pjax,也适用于表单。

答案 2 :(得分:0)

如果您使用的是早于1.8的jQuery版本,则应尝试更新它。

我遇到了同样的问题,这是由我们的项目使用旧版本的jQuery引起的。 方法parseHTML()为added in version 1.8,即published in August 2012