我正在尝试对我们编写的一些Ajax代码运行一些测试,现在显然在本地测试它运行速度非常快且很棒。我需要强制执行3秒的延迟,以便我可以看到正在显示加载程序并且用户体验足够好。
我已经尝试了以下但是收到错误“无用的settimeout”任何其他建议来实现这一目标?任何浏览器插件?
$('#formAddPost').submit(function() {
//Load the values and check them
var title = $(this).find('#Title');
var description = $(this).find('#Description');
var catId = $(this).find('#Categories');
if (ValidateField(title) == false || ValidateField(description) == false) {
$('.error-message').show();
return false;
}
$('.error-message').hide();
//Show the loading icon
$('.add-post').hide();
$('.add-post-loader').show();
//Temp for testing - allows the showing to the loader icon
setTimeout(MakeAJAXCall(title.val(), catId.val(), description.val()), 1500);
return false;
});
function MakeAJAXCall(title, catId, description) {
$.ajax({
url: "/Message/CreatePost/",
cache: false,
type: "POST",
data: ("title=" + title + "&description=" + description + "&categories=" + catId + "&ajax=1?"),
dataType: "html",
success: function(msg) {
$('#TableMessageList').replaceWith(msg);
$('.add-post-loader').hide();
$('.add-post').show();
}
});
}
答案 0 :(得分:2)
当你测试你的页面延迟服务器响应时,你可以在服务器端代码而不是客户端代码延迟吗?
答案 1 :(得分:0)
您可以使用fiddler执行此操作。
examples scripts包含一些暂停响应的示例。
答案 2 :(得分:0)
来自jsFiddle.net的这个工具会有用吗?
回应Javascript文件和XHR请求 http://doc.jsfiddle.net/use/echo.html