ブックの詳細がvm.booksに読み込まれた後にのみ、 "Test Data"テキストがコンソールに表示されるようにするには、基本的に同期ajax呼び出しを実行します。同期Jquery Ajaxコール
以下のコードは、期待どおりに動作しません。どのようにこの期待された機能を達成するための提案。 「テストデータ」テキストがブックの詳細はvm.booksにロードされているだけ 後にコンソールに表示され得ることを確実にする方法
$(document).ready(function() {
var vm = new obj.Books();
vm.loadBooks();
console.log("Test Data");
});
var obj = obj || {};
obj.Books = function() {
var self = this;
self.books = [];
self.loadBooks = function() {
$.ajax({
url: "somewebapiurl",
dataType: 'jsonp',
async: false
})
.done(function(data) {
$.each(data, function(idx, item) {
self.books.push(item);
});
})
.fail(function(xhr, status, error) {
alert(status);
});
};
};
クロスドメインリクエストとデータタイプ: "jsonp"リクエストは同期操作をサポートしていません。 http://api.jquery.com/jquery.ajax/ – jcubic
http://stackoverflow.com/questions/5943630/basic-example-of-using-ajax-with-jsonp – mplungjan
予想される機能をどのように達成するかについての提案。 – sameer