2011-06-18 15 views
0

Googleクローズライブラリが新しく、Jqueryの$ .ajax関数のようなものをシミュレートしようとしています。ここで私が試したことと、私が何を得たのかが分かります。 getAjaxData機能は以下の通りですGoogleクローズを使用したAjaxコール

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

トリガーChrome拡張機能を右から

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

をクリックします。これは以下のように定義されてFUN1機能をトリガします。

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機能のために渡される必要がある引数のタイプをチェックし、それは文字列型を持っています。

+0

申し訳ありません!この問題を解決しました.. base.jsへのパスがこの問題の原因です。あなたの中には同じ問題に直面し、彼らのために出かけるかもしれないので、この質問を削除しないでください。したがって、**この問題を解決するためのclosure-libraryのbase.jsへのパスを確認してください。** –

+0

上記のコメントを回答として投稿し、24時間待ってそれを受け入れる必要があります。 (このサイトでは、あなた自身の回答を24時間受け入れることはできません)。これは、この問題を抱える人々がコメントよりも受け入れられた答えに気づく可能性が高いため、他の人を助けるでしょう。他の人が間違っているかもしれない答えを提供するのを妨げるでしょう。 – Trott

+0

確かにそうなります –

答えて

0

解決済みこの問題はbase.jsへのパスが原因です。

この質問を削除しないでください。あなたの一部が同じ問題に直面し、離れることがあります。 したがって、この問題を解決するためのclosure-libraryのbase.jsへのパスを確認してください。