我在使用以下代码执行ajax请求时遇到问题。
Ajax请求
function doRequest(url, hostname) {
$.ajax({
url: url,
type: 'GET',
data: 'hostname=' + hostname,
error: function () { alert('erro'); $('#loading').hide(); },
success: function (data) {
$('#content').html(data);
$('#loading').hide();
},
beforeSend: function () {
alert(1);
$('#content').html("");
$('#loading').show();
}
});
return false;
}
搜索表单
<form action="/Home/SearchMachine" class="form-wrapper cf" id="search">
<input type="text" placeholder="Hostname..." id="hostname" required>
<button type="submit">Validar</button>
</form>
点击活动
$('#search').submit(function() {
if (validateSearchForm()) {
$('#val_error').hide();
doRequest('/Home/SearchMachine',$('#hostname').val());
}
else
$('#val_error').show();
return false;
});
在第一个请求中,我在alert(1)
函数中触发的下一个alert(1)
中,在后两个alert(1)
中获得一个success
。我做了太多测试,但我找不到解决方案。在许多请求之后,ajax加载gif以及浏览器都会停止。
答案 0 :(得分:1)
我使用您的代码和测试服务进行了快速测试。我无法重现这个问题。每次回调仅在每次点击时发生一次。
doRequest('http://headers.jsontest.com/', $('#hostname').val());
每次点击后,您是否以某种方式重新提交提交?
答案 1 :(得分:0)
为表单提供onSubmit
以获得透明度。
表格:
<form action="/Home/SearchMachine" onSubmit="submit_form(); return false;" class="form-wrapper cf" id="search">
<input type="text" placeholder="Hostname..." id="hostname" required>
<button type="submit">Validar</button>
</form>
<强>功能强>:
function submit_form()
{
if (validateSearchForm()) {
$('#val_error').hide();
doRequest('/Home/SearchMachine',$('#hostname').val());
}
else
$('#val_error').show();
}