Czy da się wywołać zapytanie za pomocą mechanizmów ajaxowych w sposob synchroniczny?
Czy da się wywołać zapytanie za pomocą mechanizmów ajaxowych w sposob synchroniczny?
Tak, można to zrobić, choć jest to niezalecane, gdyż blokuje to działanie przeglądarki. W przypadku, gdy zapytanie będzie trwało długo, możemy tym sposobem zawiesić przeglądarkę. Do tego celu należy użyć bezpośrednio klasy XMLHttpRequest, a o synchroniczności decyduje trzeci parametr metody open ustawiony na false. Poniżej przykład:
<head>
<script>
function GetDate() {
var req = new XMLHttpRequest();
req.open("GET", "Home/GetData", false);
req.send();
alert(req.responseText);
var x = JSON.parse(req.responseText);
document.getElementById("divDate").innerText = x.DT;
}
</script>
</head>
<body>
<div id="divDate">ddd</div>
<button onclick="GetDate()">GetDate</button>
</body>