4

私のプロジェクトでは、データをテンプレートやmain.jsファイルから分離したいと思っていました。例えば、

私のdata.jsで:

define({
    heading: "Some Heading",
    subHeading : "Subheading is cool"
});

私のmain.jsでは、

require(['jquery', 'data'], function($, data){
       console.log("data object is :" + data);
);

これは機能し、コンソールで意図した結果が得られます。同様に、API呼び出しを行ってjsonデータを取得したかったので、data.jsを次のように更新しました。

define(function(){
    require(["http://some api url.com?apikey=apikey&callback=define"],
        function (someData) {
           return someData;     
        }
     );
});

しかし、API呼び出しからmain.jsのjsonデータを取得しません。「データオブジェクトは:undefined」を取得します。

main.jsファイルで「someData」を取得する方法がわかりません。

可能な修正を指摘する助けは大歓迎です。ありがとう。

4

3 に答える 3

2

サーバー呼び出しを実行して、requireJS 経由でファイルをロードすることはできません。これを行うには、ajax 呼び出しを使用する必要があります。jQueryのgetJSONメソッドを利用できます。例えば

$.getJSON("http://some api url.com?apikey=apikey",function (someData) {
       //perform the calculations needed with someData here
       console.log(someData);     
});
于 2012-11-28T11:48:41.143 に答える
1

私の問題を突き止めてくれてありがとう!プラグイン「async」を使用してこれを機能させることができました。基本的に、私は自分の問題を Google グループにも投稿し、応答を受け取りました。詳細については、 https://groups.google.com/forum/?fromgroups= #!topic/requirejs/39rieY2ZovE の URL をご覧ください。

これがすべての人に役立つことを願っています。

ありがとう。輝く

于 2012-12-04T15:09:12.343 に答える