我试图通过jQuery上传文件到我的远程服务器,但我似乎无法得到它的工作。jQuery使用FormData上传PDF?
用户需要能够上传PDF文件,然后由服务器处理并保存到根文件夹。
jQuery的
$('form').submit(function (e) {
var fd = new FormData();
fd.append('file', $('#file')[0].files[0]);
$.ajax({
cache: false,
beforeSend: function (xhr) {
xhr.setRequestHeader("Cache-Control", "no-cache");
xhr.setRequestHeader("pragma", "no-cache");
},
url: 'http://www.codekraken.com/testing/pointify/test.php?callback=?',
data: fd,
dataType: "json",
processData: false,
contentType: false,
type: 'POST',
success: function (data) {
console.log(data);
},
error: function (data) {
console.log(data);
}
});
e.preventDefault();
});
PHP
<?php
header('content-type: application/json; charset=utf-8');
$name = $_FILES["fd"]["name"];
echo ($_GET['callback'] . '('.json_encode($name).')');
?>
HTML
<form>
<input type="file" id="file" name="file">
<input type="submit">
</form>
当我提交一份文件,如input.pdf
然后按提交,我得到的回应(null)
。我期望得到该文件的名称,即input.pdf
,这意味着我错过了这个过程中的关键一步。
您是否正在使用支持该类型上传的浏览器进行测试? (除了IE <10) –
是的,Safari 6.0.2。 – Charlie
HTML正在从'localhost'运行,但是,如果那么重要... – Charlie