2011-06-18 2 views
0

Je suis nouveau à la bibliothèque Google Closure, et j'essaie de simuler quelque chose de similaire à celui de la fonction $ .ajax de Jquery. Voici ce que j'ai essayé et ce que j'ai eu en réponse.Ajax appel en utilisant Google Closure

Le déclencheur est de Chrome Extensions Faites un clic droit

chrome.contextMenus.create({"title": "sample_closure", "onclick": samp.myProject.fun1,"contexts":['selection']}); 

Cela déclenche la fonction fun1 qui est définie comme suit:

samp.myProject.fun1 = function(info,tab) { 
    var string_url = info.selectionText; 
    //String_url works fine and passed to the function below. 
    samp.myProject.getAjaxData(string_url); 
} 

La fonction getAjaxData est comme ci-dessous.

goog.require("goog.net.XhrIo"); 

samp.myProject.getAjaxData = function(url) { 
    goog.net.XhrIo.send(url, function(event) { 
     alert(event.target.getResponseText()); 
    }); 
} 

Mais j'obtiens cette erreur lorsque j'appelle la fonction getAjaxData.

Error in event handler for 'contextMenus': TypeError: Cannot read property 'XhrIo' of undefined 

Quelqu'un peut-il me dire où je me trompe .. J'ai vérifié le type d'argument qui doivent être transmis pour la fonction xhrio.send et il a le type de chaîne.

+0

Sorry Guys !! Résolu ce problème .. Le chemin de base.js est à l'origine de ce problème. Ne pas supprimer ces questions parce que certains d'entre vous peuvent faire face au même problème et partir pour eux. Donc, ** Vérifiez votre chemin vers base.js de fermeture-bibliothèque pour résoudre ce problème ** –

+0

Vous devriez publier votre commentaire ci-dessus comme une réponse, puis attendez 24 heures et acceptez-le. (Le site ne vous laissera pas accepter votre propre réponse pendant 24 heures.) Cela aidera les autres, car les personnes ayant ce problème sont beaucoup plus susceptibles de remarquer la réponse acceptée qu'un commentaire. Cela découragera également d'autres personnes de fournir des réponses incorrectes. – Trott

+0

Bien sûr le fera –

Répondre

0

Résolu ce problème .. Le chemin de base.js est à l'origine de ce problème.

Ne supprimant pas cette question, car certains d'entre vous risquent de devoir faire face au même problème. Alors, vérifiez votre chemin vers base.js de closure-library pour résoudre ce problème