jsファイルにリクエストを送信するときにajaxリクエストを使用する方法を理解しようとしています。残念ながら、javascriptはブラウザをフリーズしています。要求が処理されている間に停止するGIFスピナーがあるので、私はそのフリーズを知っています。 PHPはフリーズしません。以下のコードです:jQueryのAjaxリクエストでUIがフリーズするのはなぜですか?
index.htmlを
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type='text/javascript'>
$(document).ready(function() {
$("#b").click(function() {
$.ajax({
url: 'ajax.js',
dataType: "script",
type: "GET" }
);
});
});
</script>
<img src="spinner.gif">
<div id="upload">
<button id="b">test</button>
</div>
<textarea type="text" id="text"></textarea>
<div id='input'></div>
ajax.js
var x = 5;
for(var i = 0; i< 300000000; i++){
x += 1;
}
$("#input").html(x);
ループが3億未満の場合でもフリーズしますか?試してみてください。<10 –
いいえ、ループが10万のような小さい数字の場合はフリーズしません。 – mergesort
@angrymonkey技術的にはフリーズしています。 – Alnitak