2009-08-06 9 views
0

Ich baue eine RoR App für Facebook mit FBML und der Prototype JavaScript Bibliothek.periodically_call_remote: Rails AJAX für eine Facebook App

, was ich versuche, ein div automatisch aktualisiert zu tun haben, die ordentlich periodically_call_remote verwenden, die ein PeriodicalExecuter Objekt erstellt.

hier ist der Code:

<%= render :partial => "status_item", :collection => @status %> 
<%= periodically_call_remote(:url => { :action => :status, :id => @hunt.id }, :update => 'status_div') %> 

Ich bin 2 Arten von Störungen zu erhalten:

  1. SyntaxError: Parse error ‚s auf fbml_static_get.php auf http://biascica.pipps.net:8888/javascripts/prototype.js?1246455754 und die Gleichen (effects.js und Kontrollen. js)

  2. ReferenceError ‚s: can't find variable a116508001384_PeriodicalExecuter

dies ist die Javascript-Code, wie Facebook geändert:

new a116508001384_PeriodicalExecuter(function() {new a116508001384_Ajax.Updater('status_div', '/corinna_test/servers/ren%C3%A9/treasure_hunts/12/status', {asynchronous:true, evalScripts:true, parameters:'authenticity_token=' + a116508001384_encodeURIComponent('qBY5jTvJ04rEcvLsQzkhNkEhRXN1wRA2ITrgq/4JmVg=')})}, 10) 

(beachten Sie, wie sie a116508001384_ vor fast alles angehängt)

i auch bin iframex Fehler bekommen, aber ich don‘ Das ist momentan eine Priorität.

Kann mir jemand helfen, einen Sinn für dieses Durcheinander zu bekommen?

danke! asymmetrisch

Antwort

1

Sie können dies nicht tun. Facebook hat eine eigene eingeschränkte Version von Javascript namens Facebook Javascript (FBJS). Sie müssen das Facebook-Ajax-Objekt verwenden. Das Prototyp-API-Zeug wird nicht mit FBJS funktionieren. Sie müssen FBJS verwenden oder Ihre Anwendung in einen Iframe setzen.

 

function doAjaxStuff() { 
    var ajax = new Ajax(); 
    var params = { param1: 'param1' }; 
    ajax.responseType = Ajax.FBML; 
    ajax.ondone = function(data) { $('div').setInnerFBML(data); }; 
    ajax.onerror = function() { $('div').setTextValue('error...'); }; 
    ajax.post(URL, params); 
} 
 
Verwandte Themen