У меня есть два разных набора a
и p
элементов на моей странице html, которые сделаны как display:none
по умолчанию.Async ajax вызов, вызывающий замораживание браузера
В конце страницы я звоню функцию, посылая их ID
«S и некоторые values
для того, чтобы любой из них, основываясь на некоторых условиях
1й сет
<a style="display:none;" id="ClickMe1">Click Me</a>
<p class="button" id="Sorry1" style="display:none;">Sorry!</p>
второй набор
<a style="display:none;" id="ClickMe2">Click Me</a>
<p class="button" id="Sorry2" style="display:none;">Sorry!</p>
вызов функции
<script>
window.onload = function() {
Initialize("ClickMe1", "Sorry1", "23,35");
Initialize("ClickMe2", "Sorry2", "76,121");
};
</script>
функция
Initialize состоит из a ID
, p ID
и набор значений (он может содержать n
значения), чтобы проверить, какой элемент, чтобы включить
Javascript Функция
function Initialize(ClickMeID, SorryID,Values) {
var valList = Values.split(',');
for (i = 0; i < valList.length; i++) {
var paramts = "{'val':'" + valList[i] + "'}";
jQuery.ajax({
type: "POST",
url: "/services/MyService.asmx/GetData",
data: paramts,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (response) {
Status = response.d.toString();
},
error: function (response) {
}
});
if (Status == "0") {
$('#' + SorryID).show();
return;
}
}
$('#' + (ClickMeID).show();
}
В моей функции я разделив запятой отделив Values
и перейдя через каждое значение и сделав запрос ajax
к моей службе с помощью async:false
.
Ответ на звонок по вызову: 1
или 0
. Если какой-либо из Values
является 0
вызова функции, я хочу отобразить p
элемент else a
элемент отправленного ID's
.
Эта функция работает нормально, но когда вызов функции поднят, это заставляет замораживать browser
до выполнения функции.
Если я async: true
я не в состоянии выяснить, какой набор кнопок для включения и отключения
Как я могу предотвратить браузер от замерзания.
ваш, *** синхронизация *** ajax call вы имеете в виду? –
просто FYI 'async: false,' означает, что он синхронный, не асинхронный, поэтому он ждет, чтобы он вернулся и появляется, чтобы заморозить –
@KevinB Извините, я не получил вас – Chaitanya