2

function stationMenu($scope){

$.ajax({
    url: "/users/station_names_ajax",
    type: "POST",

    success: function(data){

        $scope.phones = [
            {"name": "Nexus S",
                "snippet": "Fast just got faster with Nexus S."},
            {"name": "Motorola XOOM™ with Wi-Fi",
                "snippet": "The Next, Next Generation tablet."},
            {"name": "MOTOROLA XOOM™",
                "snippet": "The Next, Next Generation tablet."}
        ];

        //console.log(Stations); 
    }
});

// $scope.phones = Stations;
// console.log(Stations);

}

私がこれをするかのように

function stationMenu($scope){

    $scope.phones = [
        {"name": "Nexus S",
            "snippet": "Fast just got faster with Nexus S."},
        {"name": "Motorola XOOM™ with Wi-Fi",
            "snippet": "The Next, Next Generation tablet."},
        {"name": "MOTOROLA XOOM™",
            "snippet": "The Next, Next Generation tablet."}
    ];
}

それは動作します....どうすればajax内で動作させることができますか

4

2 に答える 2

1
function callService(){
    return  $.ajax({
    url: "/users/station_names_ajax",
    type: "POST",

    success: function(data){


        //console.log(Stations); 
    }
});
}
var $scope= {};

$.when(callService())
 .then(function(data){
           $scope.phones = [
                                   {"name": "Nexus S",
                                    "snippet": "Fast just got faster with Nexus S."},
                                   {"name": "Motorola XOOM™ with Wi-Fi",
                                    "snippet": "The Next, Next Generation tablet."},
                                   {"name": "MOTOROLA XOOM™",
                                    "snippet": "The Next, Next Generation tablet."}
                                 ];

 });

when, then コンストラクトを使用して、サーバーから返されたデータを操作します。

于 2012-05-02T05:38:09.070 に答える
0

ここでまた行きます..これについては今多くの質問があります。
まず、$ scope.phonesに入力する値がajaxリクエストから返され、ハードコーディングされていないことを前提としています。そうでない場合
、jqueryのajaxリクエストの値をハードコーディングしても意味がありません。デフォルトでは非同期です。
したがって、返されたデータを処理するために必要なことはすべて 、サンプルのsoのsuccessイベント内で実行する必要があります。ajax request

function stationMenu($scope){

        $.ajax({
              url: "/users/station_names_ajax",
              type: "POST",

              success: function(data){


                  $scope.phones = [
                                   {"name": "Nexus S",
                                    "snippet": "Fast just got faster with Nexus S."},
                                   {"name": "Motorola XOOM™ with Wi-Fi",
                                    "snippet": "The Next, Next Generation tablet."},
                                   {"name": "MOTOROLA XOOM™",
                                    "snippet": "The Next, Next Generation tablet."}
                                 ];


                  //console.log(Stations);
//make use of anything returned and and $scope.phones here
              }
            });

//these lines wont work here
       // $scope.phones = Stations;
       // console.log(Stations);

    }
于 2012-05-02T05:32:11.473 に答える