2013-03-28 2 views
2

J'essaie de faire fonctionner PJAX avec mon application Rails, et les requêtes sont réussies car je vois le nouveau contenu html dans la réponse dans la console, mais le contenu n'est pas remplacé. J'obtiens l'erreur suivante du jquery.pjax.Pjax ne remplace pas les données après avoir réussi

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' 

et mon code pjax est

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

Répondre

0

Ok, il semble qu'elle devait faire avec le jquery pjax attendant une pleine page pour analyser, mais j'utilisais une réponse layoutless de mon contrôleur rails , donc il ne savait pas comment l'analyser. J'ai changé la ligne 585 dans e jquery.pjax.js à ce qui suit et il fonctionne maintenant:

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

Essayez Wiselinks. Il est plus facile à utiliser et à mettre en œuvre que Pjax et fonctionne bien avec les formulaires.

0

Si vous utilisez une version de jQuery antérieure à la version 1.8, vous devriez essayer de la mettre à jour.

J'ai rencontré le même problème, il a été provoqué par notre projet en utilisant une ancienne version de jQuery. La méthode parseHTML() a été added in version 1.8, qui était published in August 2012.

Questions connexes