サーバーでAjaxリクエストを実行する機能があります。コードは機能しますが、何らかの理由で残りの js コードをブロックしています。そのため、リクエストが終了するまで待つ必要があります。ajax は本質的に非同期であるため、これは非常に奇妙です。どんな助けでも大歓迎です。
これがコードです
function initRequest(url)
{
var xmlhttp = null;
if(xmlhttp != null)
{
if(xmlhttp.abort)
xmlhttp.abort();
xmlhttp = null;
};
if(window.XMLHttpRequest) // good browsers
xmlhttp=new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
if(xmlhttp == null)
return null;
xmlhttp.open("GET",url,false);
xmlhttp.send(null);
if(xmlhttp.status >= 200 && xmlhttp.status < 300)// 2xx is good enough
return xmlhttp.responseText.split("|");
else
return null;
}
そして、この関数を次のように呼び出します var res = initRequest('someurl'); if(res) { console.log(res); } console.log('このメッセージは、リクエストが処理されたときに表示されます!! なぜ??');