ajax呼び出しを行うjavascriptコードがあります。これはvarを取得し、後でスクリプトでvarを使用しようとします。問題は、ajax呼び出しのため、コードの残りの部分が実行されてからvarがあることです。私は単純に、アラートに追加すると、物事はうまく動作:コードが続行される前にAjaxによって返されたvarが必要です
var quote_request_id;
$.ajax({
type: "POST",
url: rate_url + '/99/1',
data: datastring,
dataType: "html"
}).done(function(data,status,xhr) {
quote_request_id = xhr.getResponseHeader('X-QuoteRequest-Id');
});
私はその後、quote_request_idのVARを使用して他のAJAX呼び出しを持っていますが、それが設定されていません。上記のコードブロックの後に警告を追加するだけで動作します。私は、それがajax呼び出しの非同期動作のためだと認識しています。 varを取得し、それをコードの残りの部分で使用する方法を理解する必要があります。
あなたが必要と考えるものと実際に必要なものは、2つの異なるものです。実際に必要なのは、サーバーから引用要求IDを取得する非同期性を考慮してコードをリファクタリングすることです。 – Adam