我的 FormData 对象不会从我的页面表单元素中获取数据。当我在 PHP 文件中执行 var_dump($_POST)
时,附加数据会通过并显示,但是表单数据不存在。没有追加,它只是一个空数组。
Javascript:
$(function() {
$("form").on("submit", function() {
var formData = new FormData($("#form")[0]);
formData.append("Hello world", "This is a test");
$.ajax({
url: "sub/addCrane.php",
type: 'POST',
data: formData,
cache: false,
contentType: false,
processData: false,
})
.done(function(data) {
$("#form").append(data);
});
});
});
HTML 格式:
<form id="form" enctype="multipart/form-data" action="#">
<p class="inline">Crane Model: </p><input type="text" id="model"><br />
<p class="inline">Crane Brand: </p><input type="text" id="brand"><br />
<p class="inline">Crane type (ie. Crawler, Tower, Mobile): </p><input type="text" id="type"><br />
<p class="inline">Image of crane: </p><input type="file" id="image">
<input type="submit" id="submit">
</form>
最佳答案
您的问题是您在输入标签中使用的是 id
而不是 name
,这不会让 JQuery 很好地处理它们,因此它会忽略它们.此外,这不是常见的做法,PHP 也不太喜欢它:)
干杯!
关于javascript - 从表单构建 FormData 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23554538/