首先,我需要說的是,如果你想上傳文件,我的意思是如果您的表單有文件輸入,然後根據RFC-7578添加表單屬性enctype="multipart/form-data"
。您還可以看到使用http://www.w3schools.com/tags/att_form_enctype.asp。
然後再次移動到html部分。假設你有一個像
<form action="some_domain/example.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="fileId"/>
<input type="text" name="firstName" id="name">
<button onclick="post('some_domain/example.php')" type="button">Save</button>
</form>
,表格輸入後立即使用Ajax文件數據:
function post(url){
$.ajax({
url:url,
type: 'POST',
processData:false,
contentType:false,
data: $('#fileId')[0].files[0],
success: function (data) {
alert("successfully posted.");
}
});
}
我認爲這應該是工作的罰款。
UPDATE: 如果你想發佈文本數據,那麼你應該使用FormData
對象。
function post(url){
var formData = new FormData();
var files = document.getElementById("fileId").files;
for (var i = 0; i < files.length; i++) {
var file = files[i];
formData.append('files[]', file, file.name);
}
formData.append('firstName',$('#name').val());
$.ajax({
url:url,
type: 'POST',
processData:false,
contentType:false,
data: formData,
success: function (data) {
alert("successfully posted.");
}
});
}
你的問題是什麼LEM?請在你的問題中定義實際問題並更新它。 –
實際的問題是文件未序列化。 –
你的意思是表單數據沒有被序列化? –