2つの異なるURLから値を取得してからマージする必要があります。私は1つのURLにすべてのデータを取得する方がはるかに良いことを知っていますが、それは私が持っている方法であり、私はそれを扱う必要があります。ajaxで2つのURLを操作する
a_value
の値を印刷したいのですが、b
が値を返していない間に印刷されています。関数を同期させる方法の記事を読んだが、コードに実装する方法がわからず、私の場合に最適な解決策が何か分からない。私はJavaScriptでかなり新しく、まだいくつかの助けと指導が必要です。
function any_function() {
$.ajax(
{
url : '/url1',
type: "GET",
success:function(data, textStatus, jqXHR)
{
$("#print").html(a(data));
}
});
}
function a(data){
x = 'any value' //`do something with data and insert to this variable`
a_value = x + b(`some id that extracted from data`)
return a_value
}
function b(id){
$.ajax({
url: '/url2',
type: 'GET',
success: function (data, textStatus, jqXHR) {
b_value = c(data, id)
}
});
return b_value
}
function c(data, id){
//do something with `data` and return the value
return c_value
}
約束を使用してhttps://api.jquery.com/promise/に行く方法です – lascort