【发布时间】:2016-11-28 12:57:24
【问题描述】:
这可能是重新发布,因为我可能在 stackoverflow 中搜索得不够深入,尽管我发现的一些帖子对我的帮助不够。所以我正在尝试做一件简单的事情——使用 ajax 上传图片。我有这个 HTML:
<form class="form-inline" id="navigationLinkCreationForm" >
<input type="text" class="form-control" placeholder="Nuorodos pavadinimas" id="linkName" />
<label class="btn btn-default btn-file">
Įkelti ikoną(1:1)<input id="selectNavigationIcon" name="navigationIcon" type="file" style="display: none;">
</label>
<input type="submit" class="btn btn-success" id="createLinkButton" value="Sukurti nuorodą" />
</form>
那么我就有了这个 ajax:
$('#createLinkButton').on('click', uploadFiles);
function uploadFiles(event)
{
event.preventDefault();
var formData = new FormData($('#navigationLinkCreationForm'));
$.ajax({
type: 'POST',
url: '../php_includes/uploadNavigationIcon.php',
data:formData,
success: function (data)
{
console.log(data);
},
processData: false,
contentType: false,
cache: false
});
}
最后我得到了一个简单的 uploadNavigationIcon.php 文件,如果文件已提交,它只会输出“S”
<?php
if(isset($_GET['files']))
{
echo "S";
}
运行后我只是得到空输出,这只是意味着文件没有提交。
【问题讨论】:
-
你永远不会得到一个带有 $_GET 变量的文件。文件上传有自己的方式。打印 $_FILES。并在此处阅读文件上传文档w3schools.com/php/php_file_upload.asp
标签: php jquery ajax jquery-file-upload