Я создаю html-страницу и содержит n
количество файлов сценариев.Предотвращение зависания страницы
В моей HTML странице на window.onload
I'm` вызывающего одну из своих функций, как
<script>
window.onload = function() {
MyMethod('Value');
};
</script>
Когда она попадет эту часть коды моей страница становится заморожена до тех пор, выполнение функции не будет завершено.
Причина, по которой я сказал n количество сценариев, состоит в том, что эта проблема никогда не существует с другими файлами сценария, но для этого конкретного вызова window.onload.
Как я могу сделать из застрять, когда функция называется
MyMethod принимает значение делает ajax
вызов к одному из моей службы, на основе result
либо он displays
или hides
некоторые из моих элементов
JavaScript
function MyMethod(val) {
var par = val;
jQuery.ajax({
type: "POST",
url: "/services/MyService/MethodName",
data: par,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (response) {
arr = response.d.toString().split(',');
if (arr[0] == "0") {
//show and hide some DOM elements
}
else{
//show and hide other DOM elements
}
},
error: function (response) {
}
});
Что такое 'MyMethod'? Не видя этого, мы можем только догадываться, что вызывает блокировку. – ste2425
Он застрянет, запустит таймер и поместит ваш метод в этот таймер. – Gar
@Gar Таймер просто задерживает код замораживания –