使用Google Closure进行Ajax调用

时间:2011-06-18 13:13:35

标签: javascript ajax google-chrome-extension google-closure

我是Google Closure库的新手,我正在尝试模拟类似于Jquery的$ .ajax函数的东西。这是我尝试过的以及我得到的回应。

触发器来自Chrome扩展程序右键单击

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

这会触发fun1函数,该函数定义如下:

    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);
}

getAjaxData函数如下所示。

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

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

但是当我调用getAjaxData函数时,我得到了这个错误。

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

谁能告诉我哪里出错了..我检查了需要为xhrio.send函数传递的Argument类型,它有字符串类型。

1 个答案:

答案 0 :(得分:0)

解决了这个问题.. base.js的路径导致了这个问题。

不删除此问题,因为有些人可能会面临同样的问题并离开。 因此,请检查封闭库的base.js路径以解决此问题