作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在为我的公司编写一个客户端数据库系统。没有太多花哨的东西,但它做了它应该做的。现在所有基本的“文本”内容都已完成,我想在其中添加一些文件管理。
我有几种形式,它们通过 ajax 发送到后端,然后写入模型中的数据库。
其中一些表格计划上传文档文件。
有没有办法处理普通值提交和使用 AJAX 提交的文件?
让我举个例子:
<form action="SOMEPATH/LOGIC_FILE.php" action="POST" enctype= multipart/form-data>
<label for="name">
<input type="text" id="name" name="name" />
</label>
<label for="somethingElse">
<input type="text" id="somethingElse" name="somethingElse" />
</label>
<label for="fileUpload">
<input type="file" />
</label>
</form>
AJAX 示例:
var name = $('#name').val();
var somethingElse = $('#somethingElse').val();
var dataArr = { 'name':name, 'somethingElse':somethingElse};
MYELEMENT.click(function(e){
e.preventEventDefault();
$.ajax({
url: "PATH/logic/logic_update_client_allg.php",
type: "POST",
data: allgArray,
success: function(dataArr){
// works
},
error: function(){
// doesnt work
}
});
}
这就是我处理输入值提交的方式
我如何继续使用此表单上传文件
谢谢
最佳答案
对于 ajax 上传,您需要使用 xmlHttpRequest
,它在 jQuery.ajax()
方法中已经可用,但需要使用 FormData
.
如果您不针对 IE 旧版本,例如 7,8,您可以使用 FormData
。需要注意的一件事是您必须将 contentType, processData
设置为 false
。
请看下面的例子:
var name = $('#name').val();
var somethingElse = $('#somethingElse').val();
var fd = new FormData();
var dataArr = {
name: name,
somethingElse: somethingElse,
file : fd.append('file', $('#fileUpload').get(0).files[0]) // put the file here
};
MYELEMENT.click(function(e) {
e.preventDefault();
$.ajax({
url: "PATH/logic/logic_update_client_allg.php",
type: "POST",
data: dataArr, //<----post here the files and other values
processData: false, // tell jQuery not to process the data
contentType: false // tell jQuery not to set contentType
success: function(dataArr) {
// works
},
error: function() {
// doesnt work
}
});
});
关于php - 使用 AJAX 的文本内容和文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30161862/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!