2017-06-09 10 views
-1

私はVue.js 2でAJAXを使用しようとしている:AJAXとVue.js 2動作しない

let remoteUrl = '...................'; 

var app = new Vue({ 
    el: '#app', 
    data: { 
     items: [] 
    }, 
    created: function() { 
     this.getFilms(); 
    }, 
    methods: { 
     getFilms: function() { 
      $.ajax({ 
       type: "GET", 
       url: remoteUrl 
      }).done(function (res) { 
       console.log(res); 
       self.items = res; 
      }).fail(function (err) { 
       alert("ERRORE: " + err); 
      }); 
     } 
    } 

});

これはhtmlです:

  <table> 
       <tbody> 
        <tr v-for="item in items"> 
         <td>{{item.nome}}</td> 
         <td>{{item.data}}</td> 
         <td>{{item.size}}</td> 
         <td>{{item.ext}}</td> 
        </tr> 
       </tbody> 
      </table> 
     </div> 

私は、コンソールに出力を参照してください。 しかし、テーブルは空のままです。 AJAX呼び出しでエラーは発生しません。 createdとwithの両方で試しました。 なぜですか?

+0

コンソール出力が表示されている場合は、AJAXが成功したことを意味します。ですから、この問題はAJAXとはまったく無関係です。 'self'はどこに定義されていますか? –

+1

あなたは 'self.items = res'で使用した' self'を宣言していません –

答えて

0

を他の場所に宣言していない限り、remoteUrl宣言の下にlet self = {}を追加するだけです。

nomedatasizeextがあるあなたのresの性質だった場合)。これは、問題を修正する必要があります。

-1

なぜ私はVueと共にjqueryを使用する必要があるのか​​分かりません。 Vueを使用している場合は、Vueに書き込んでください。 あなたがNG2/1を使用している場合は、単にNG2/1.1

これは大きな現実であるに書き、私はすべてのjQueryのみんなにそれを破ることを憎む: - NG5として と私はNG9思い半ばに2018年までにjqueryでコード化する人はいません。それはjquery単独で - または - 単独で - または - Vue.jsだけである。

一方、jqueryの人々はjquery + ngまたはjquery + Vueのホットチックを続けることができますが、間違いなく推奨されています。

jqueryからmoveonに連絡して、関連性を維持するようにアドバイスします。 この議論に従ってください: Vue.js and jQuery?

のjQuery:納屋の後ろにそれを取ると、それを撃ちます。 あなたが悪い考えを速く止めれば早く、より有望な別のアイデアを始めることができます。

+0

あなたが表現している感情には同意しませんが、これは本当にその質問に対する答えではありません。最低でも '$ .ajax' https://github.com/pagekit/vue-resourceに相当するVueを指摘する必要があります –

-1

ok、私はvue-resourceでjqueryを置き換えました。 今、すべてが動作します、ありがとうございます!

let remoteUrl = '..............'; 

var app = new Vue({ 
    el: '#app', 
    data: { 
     items: [] 
    }, 
    created: function() { 
     this.getFilms(); 
    }, 
    methods: { 
     getFilms: function() { 
      this.$http.get(remoteUrl).then(response => { 
       this.items = response.body; 
      }, response => { 
       alert(response); 
      }); 
     } 
    } 
}); 
関連する問題