【发布时间】:2015-10-06 04:58:16
【问题描述】:
我有一个包含文本和文件字段的表单。我正在尝试将整个内容提交到服务器上托管的 php 脚本,并返回一条验证消息。我的表单如下所示:
<form id="ambassador" method="post" enctype="multipart/form-data">
<label for="name">Name: </label>
<input type="text" id="name"> <br />
<label for="age">Age: </label>
<input type="number" id="age"> <br />
<label for="igram">Instagram Account: </label>
<input type="text" id="igram"> <br />
<label for="photo">Photograph Upload: </label>
<input type="file" id="photo"><br />
<label for="why">Why should you represent Drip Cold Pressed Juice?</label>
<textarea id="why" width="300px"></textarea>
<button type="submit" class="btn">Apply!</button>
</form>
我的 jQuery 看起来像:
jQuery("#ambassador").submit(function(event) {
event.preventDefault
var server = "http://getdripped.com/dev/ambassador.php";
var form = document.getElementById('#ambassador');
var formData = new FormData(form);
alert(formData);
jQuery.ajax({
url: server,
type: 'POST',
data: formData,
async: false,
success: function (data) {
alert(data)
},
cache: false,
contentType: false,
processData: false
});
return false;
});
php 只包含一个print_r 语句用于$_FILES 数组和另一个$_POST 数组。但是,两个返回的数组都是空的。
【问题讨论】:
-
嗨,为此你最好使用 iframe
-
@ArtisiticPhoenix — 为什么?
-
嗨尼克,将异步设置为真。否则,您的浏览器可能会阻塞,直到上传完成。
-
@Quentin - 因为它是老派,它适用于所有浏览器,即使禁用了 javascript。
标签: php jquery ajax multipartform-data