Javascript 为什么$.ajax()会导致wep页面回发两次?
有人能告诉我为什么这个$.ajax会导致网页回发两次吗?它不应该只开火一次吗 这是我在VisualStudio中调试时看到的,它导致服务器端脚本运行两次。我使用的是JQuery版本2.0.0 ThrobblerAnimationBegin函数显示处理图标动画,让最终用户知道网页正在忙于执行脚本。@{}括号是服务器端脚本,这就是我如何通过使用调试断点来判断何时对服务器端后端进行了回发 谢谢Javascript 为什么$.ajax()会导致wep页面回发两次?,javascript,jquery,ajax,Javascript,Jquery,Ajax,有人能告诉我为什么这个$.ajax会导致网页回发两次吗?它不应该只开火一次吗 这是我在VisualStudio中调试时看到的,它导致服务器端脚本运行两次。我使用的是JQuery版本2.0.0 ThrobblerAnimationBegin函数显示处理图标动画,让最终用户知道网页正在忙于执行脚本。@{}括号是服务器端脚本,这就是我如何通过使用调试断点来判断何时对服务器端后端进行了回发 谢谢 @{ string foo = "Me Me Me"; foo += ", fee fee
@{
string foo = "Me Me Me";
foo += ", fee fee fee";
}<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>BookItOut - A New Dawn In Auto Pricing"</title>
<script type="text/javascript" src="~/Member/Scripts/jquery-v2.0.3/jquery-v2.0.3.min.js"></script>
<script type="text/javascript">
function ThrobblerAnimationBegin() {
return $.ajax();
}
function ThrobblerAnimationEnd() {
}
$(document).ready(function () {
function DrawVehicleCostPerDays() {
var $deferred = $.Deferred(); //$.Deferred.done() --> to allow ayschronous sleep/delay until this current function() is finish before running done() afterward to continue. [[http://stackoverflow.com/questions/12116505/wait-till-a-function-is-finished-until-running-another-function]]...
$deferred.resolve();
return $deferred;
}
//Load the script...
ThrobblerAnimationBegin().done(function () {
//alert("done");
DrawVehicleCostPerDays(
).done(function () { ThrobblerAnimationEnd(); /*alert('success');*/ }
).fail(function () { ThrobblerAnimationEnd(); /*alert('failed');*/ });
});
});
</script>
</head>
<body>
</body>
</html>
根据请求编辑以下是Firefox Firebug的快照
你的ajax没有发射两次。相反,您看到的是初始页面加载,您将其计算为第一个ajax请求,然后是第二个ajax请求。由于您没有在.ajax调用中指定URL,因此它向同一页面发出了请求,这可能会让您感到困惑
您可能应该阅读以了解如何使用它的简单示例。检查浏览器开发人员控制台的“网络”选项卡,查看实际发出的请求数量。请参阅编辑部分中的图片快照。第一个get在jquery看起来可疑之前。我在你的代码中没有看到任何东西会导致ajax出现两次。我将网页转换为纯html并重新检查firefox的firebug,结果显示相同。顺便问一下,为什么我的帖子得到了a-1?您的ajax调用的页面与调用它的页面相同吗?换句话说,zz1.cshtml是您在上面提供的代码吗?