Javascript 此页上的脚本可能正忙,或者已停止响应。Asp.net
我有一个页面在Firefox中出现了以下错误: 此页上的脚本可能正忙,或者已停止响应。 您可以立即停止脚本,也可以继续查看脚本 将完成 这是我的jquery代码:Javascript 此页上的脚本可能正忙,或者已停止响应。Asp.net,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我有一个页面在Firefox中出现了以下错误: 此页上的脚本可能正忙,或者已停止响应。 您可以立即停止脚本,也可以继续查看脚本 将完成 这是我的jquery代码: function uploadComplete(sender, args) { var imgDisplay = $get("imageEmployeeTemp"); var img = new Image(); img.onload = function
function uploadComplete(sender, args) {
var imgDisplay = $get("imageEmployeeTemp");
var img = new Image();
img.onload = function () {
imgDisplay.style.cssText = "height:100px;width:100px";
imgDisplay.src = img.src;
};
img.src = "/Resources/Images/Employee/" + args.get_fileName();
}
$(document).ready(function () {
$('#TxBx_BasicSalary').focusout(function () {
var EmployeeId = $('#Hid_EmpID').val();
if (EmployeeId == 0) {
return;
}
$.ajax({
type: "POST",
cache: false,
contentType: "application/json; charset=utf-8",
url: '/WebService/IncDedWebService.asmx/GetInceDed',
data: '{ "id": "' + EmployeeId + '" }',
dataType: 'json',
success: function (data) {
var data = $.parseJSON(data.d)
var TotalIncentives = data["TotalIncentives"];
var TotalDeduction = data["TotalDeduction"];
var BasicSalary = $("#TxBx_BasicSalary").val();
var GrossSalary = parseInt(BasicSalary) + parseInt(TotalIncentives)
$('#Ltrl_GSalary').html(GrossSalary);
$('#Hid_GSalary').val(GrossSalary);
$('#Ltrl_NetSalary').html(GrossSalary - parseInt(TotalDeduction));
$('#Hid_NetSalary').val(GrossSalary - parseInt(TotalDeduction));
},
error: function () { alert("error"); }
});
});
var id = "#<%= Rtb_PayMode.ClientID %>";
var bool = false;
$(id).click(function () {
HideShowRows();
bool = true;
});
if (!bool) {
HideShowRows();
}
function HideShowRows() {
var BankInfo = $('#BankInfo');
var BankAccount = $('#BankAccount');
if ($('#<%= Rtb_PayMode.ClientID %> input:checked').val() == '1') {
BankInfo.hide();
BankAccount.hide();
}
else {
BankInfo.show();
BankAccount.show();
}
}
});
函数上传完成(发送方,参数){
var imgDisplay=$get(“imageEmployeeTemp”);
var img=新图像();
img.onload=函数(){
imgDisplay.style.cssText=“高度:100px;宽度:100px”;
imgDisplay.src=img.src;
};
img.src=“/Resources/Images/Employee/”+args.get_fileName();
}
$(文档).ready(函数(){
$('#TxBx_BasicSalary').focusout(函数(){
var EmployeeId=$('Hid#EmpID').val();
如果(EmployeeId==0){
返回;
}
$.ajax({
类型:“POST”,
cache:false,
contentType:“应用程序/json;字符集=utf-8”,
url:“/WebService/IncDedWebService.asmx/getinceed”,
数据:“{”id:“'+EmployeeId+''''}”,
数据类型:“json”,
成功:功能(数据){
var data=$.parseJSON(data.d)
var TotalIncentities=数据[“TotalIncentities”];
var TotalDecredition=数据[“TotalDecredition”];
var BasicSalary=$(“#TxBx_BasicSalary”).val();
var grossalary=parseInt(基本日历)+parseInt(总激励)
$('Ltrl_GSalary').html(Grossalary);
$('Hid#GSalary').val(Grossalary);
$('#Ltrl_NetSalary').html(Grossalary-parseInt(TotalDecredition));
$('Hid#u NetSalary').val(Grossalary-parseInt(TotalDecredition));
},
错误:函数(){alert(“error”);}
});
});
变量id=“#”;
var bool=假;
$(id)。单击(函数(){
隐藏行();
布尔=真;
});
如果(!bool){
隐藏行();
}
函数HideShowRows(){
var BankInfo=$(“#BankInfo”);
var BankAccount=$(“#BankAccount”);
如果($('#输入:选中').val()=='1'){
BankInfo.hide();
BankAccount.hide();
}
否则{
BankInfo.show();
BankAccount.show();
}
}
});
请帮助我做什么。您可以尝试设置一个标志来停止多个同时发生的ajax请求:
$(document).ready(function () {
var inProgress = false;
$('#TxBx_BasicSalary').focusout(function () {
if(!inProgress){
inProgress = true;
var EmployeeId = $('#Hid_EmpID').val();
if (EmployeeId == 0) {
return;
}
$.ajax({
type: "POST",
cache: false,
contentType: "application/json; charset=utf-8",
url: '/WebService/IncDedWebService.asmx/GetInceDed',
data: '{ "id": "' + EmployeeId + '" }',
dataType: 'json',
success: function (data) {
inProgress = false;
var data = $.parseJSON(data.d)
var TotalIncentives = data["TotalIncentives"];
var TotalDeduction = data["TotalDeduction"];
var BasicSalary = $("#TxBx_BasicSalary").val();
var GrossSalary = parseInt(BasicSalary) + parseInt(TotalIncentives)
$('#Ltrl_GSalary').html(GrossSalary);
$('#Hid_GSalary').val(GrossSalary);
$('#Ltrl_NetSalary').html(GrossSalary - parseInt(TotalDeduction));
$('#Hid_NetSalary').val(GrossSalary - parseInt(TotalDeduction));
},
error: function () { alert("error"); }
});
}
});
我在使用ajaxToolkit时遇到了同样的问题:AsyncFileUpload。 css有一个变通方法 -在AsyncFileUpload中应用
CssClass=“asyncupload”
-将class
.asyncupload输入{width:100%!important;}
添加到您的css文件。您是否尝试过一步一步地调试以找到冻结的位置?能否告诉我调试器在哪一行抛出该错误?只是一个侥幸,难道focusout不会由于哪个脚本达到无响应的状态而进行多个ajax调用吗。尝试注释focusOut函数一次,看看它是否仍然挂在firefox上。或者更好的是,将inProgress设置为等于一个包含最新请求时间的对象和一个计数器,以显示有多少正在进行的请求。每次调用focusout时,该计数器都会被检查为小于4(您的浏览器可以轻松处理),如果是,则运行其余代码(向计数器添加1)。它还将特定请求的时间存储在局部变量中。然后,当它完成时,error和success回调都会从计数器中减去1,并且成功回调只有在其本地时间与最新请求的时间匹配时才会运行。