0

YUI3を使用してGETリクエストを実行していますが、GETリクエストを実行しようとするとイベントハンドラーが起動しません。コメントは、各イベントハンドラーのコンソールに記録されている必要があります。これが私のコードです:

YUI({ filter: 'raw' }).use("io-xdr", "substitute", "json-parse", "node", function(Y) {

  var url = "http://localhost:8000/scripts/test.php";

  var output = Y.one("#container");  

  var cfg = {
    method: "GET",
    xdr: {
      use: 'native'
    },  
    on: {
      start: handleStart,
      success: handleSuccess,
      failure: handleFailure,
    }
  };

  var handleStart = function(id, a) {
    output.set("innerHTML", "YES");
    console.log("Inside of handleStart");
    Y.log("a");
  };

  var handleSuccess = function(id, o, a) {
    var results = Y.JSON.parse(o.responseText);
    console.log(results.count);
    console.log(results);
    Y.log("b");
  };

  var handleFailure = function(id, o, a) {
    console.log("Inside of handleFailure");
    Y.log("c");
  };

  var obj = Y.io(
    url, cfg
  );

});

コンソールにエラーはありません。URLは正しいです。

4

1 に答える 1

2

cfgを定義する場所の上でハンドラーを宣言します。JavaScriptは巻き上げを使用するため、変数は、使用しようとしているポイントでは未定義ですが、技術的には「使用可能」になります。

機能が機能することを示すこのjsbinを見ることができます:http://jsbin.com/owemib/1/edit

CORSでは機能しませんが、少なくともログに記録されます。

于 2012-09-04T23:58:53.060 に答える