我是AJAX / JQuery的新手,我想知道是否有办法通过AJAX请求从包含文本文件的HTML表单和2个单独的文本框发送数据。我已经能够从文本框中发送数据,但不会发送文件。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
// this is the id of the form
$("#SQLsubmit").submit(function() {
var url = "DAOserv"; // the script where you handle the form input.
$.ajax({
type : "POST",
url : url,
data : $("#SQLsubmit").serialize(), // serializes the form's elements.
success : function(data) {
alert(data); // show response from the php script.
}
});
return false; // avoid to execute the actual submit of the form.
});
</script>
这是我的AJAX电话^
<div class="row">
<form id="SQLsubmit" name="SQLsubmit">
<div class="form-group col-lg-4">
<textarea rows="11" id="BAU" name="BAU" class="form-control"
placeholder="BAU Reason" form="SQLsubmit"></textarea>
<input type="file" name="file" /> <input type="submit"
class="btn btn-primary" value="Submit">
</div>
<div class="form-group col-lg-8">
<textarea rows="11" id="SQL" name="SQL" class="form-control"
placeholder="SQL Statements" form="SQLsubmit"></textarea>
</div>
</form>
这是HTML。
如果有人能告诉我如何获取这两个文本文件,并将文件存入我的Java Servlet(使用doPOST方法),那么我就能将所有字符串解析为字符串,非常感谢!
谢谢!
编辑:我在原始帖子中运行代码时遇到的问题是文本字段已发送,但文件未被发送。
答案 0 :(得分:0)
您应该定义enctype: 'multipart/form-data
。否则jquery应该知道你发送文件。
此链接可能有所帮助: How can I upload files asynchronously?
答案 1 :(得分:0)
你试过吗
$("#SQLsubmit").submit(function() {
var url = "DAOserv"; // the script where you handle the form input.
$.ajax({
type : "POST",
url : url,
data : new FormData(this),
success : function(data) {
alert(data); // show response from the php script.
}
});
return false; // avoid to execute the actual submit of the form.
});