【发布时间】:2015-01-23 06:07:26
【问题描述】:
我正在尝试使用 ajax 提交一个表单(其中还包含一个文件输入),一切正常,但我无法使用 return false 和 e.preventdefault() 方法阻止默认表单提交。
这是我的 jquery ajax 提交代码:
var formrequest = $('#Request_Search');
formrequest.submit(function (e)
{
alert("form submit called");
var fileInput = $('#file');
var file = fileInput.files[0];
var data = new FormData();
data = formrequest.serialize();
data.append('file', file);
$.ajax({
type: formrequest.attr('method'),
url: formrequest.attr('action'),
data: data,
contentType: false,
processData: false,
success: function (data)
{
alert("Reached")
},
error:function()
{
alert("failure");
}
});
return false; //I have tried e.preventDefault() also.But that also does't help
});
我的表单代码:
<form id="Request_Search" method="post" action="queryupload" enctype="multipart/form-data" class="col-md-12" style="margin-top: 20px;">
<div class="form-group" id="filediv">
<label for="file">Upload your Fasta File:</label>
<input type="file" class="form-control" name="file" id="file" required accept=".txs,.fasta,.fa">
</div>
<div class="form-group">
<label for="file">Enter you email id:</label>
<input type="email" class="form-control" name="emailid" id="emailid" placeholder="Enter emailid so we can send you outputs" required>
</div>
<div class="form-group">
<label for="file">Enter Percent Identity value :</label>
<input type="number" min="0" max="100" class="form-control" name="pident" id="pident" placeholder="Enter value for pident" required>
</div>
<div class="form-group">
<label for="file">Enter Mismatch percentage :</label>
<input type="number" min="0" max="100" class="form-control" name="mismatch" id="mismatch" placeholder="Enter values for % mismatch expected" required>
</div>
<div class="form-group">
<label for="file">Enter query coverage :</label>
<input type="number" min="0" max="100" class="form-control" name="querycoverage" id="mismatch" placeholder="Enter values for query coverage" required>
</div>
<br/>
<div class="form-group">
<input type="submit" value="Submit" i class="btn btn-primary btn-lg btn-block"></input>
</div>
</form>
在 servlet 的 dopost() 方法中:
protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException
{
PrintWriter po = response.getWriter();
po.write("Check text");
}
来自 google Chrome 开发者工具。如果它可以提供帮助:
我的 servlet 被正确调用,但我被重定向到下一页并出现在该页面上。如何防止这种情况发生?
【问题讨论】:
标签: java jquery ajax jakarta-ee