通过AJAX传递图片
这个问题在这里已经有了答案:
$.ajax({
type: "POST",
url: pathname,
data: new FormData($('#devis')[0]),
processData: false,
contentType: false,
success: function (data) {
$("#divider").html(data);
}
});
并在$_FILES[];
正常获取文件数据$_FILES[];
你可以试试它
<script type="text/javascript">
$(document).ready(function() {
$("#submit").click(function() {
var fileInput = document.getElementById('image_input_field');
var file = fileInput.files[0];
var formData = new FormData();
formData.append('file', file);
// console.log(file);
var societe = $("input#societe").val();
var message = $("textarea#message").val();
$.ajax({
url: "ajax.php",
type: "POST",
data: "file="+file,
cache: false,
success: function(reponse) {
if(reponse) {
alert(reponse);
// console.log(reponse);
// $('#devis').trigger("reset");
} else {
alert('Erreur');
}
}
});
}); });
</script>
在ajax.php
写吧
echo 'something';
正如您可能已经知道的那样,无法通过ajax调用来处理文件上传,一旦HTML5 FILE I / O API准备就绪并且可以通过主流浏览器实现,就有可能。
您可以使用jQuery iframe发布表单插件在iframe中发布数据,以便用户体验类似于ajax调用(部分更新页面)。
这里是链接:https://github.com/dogzworld/iframe-post-form
描述:“这个jQuery ajax上传插件创建一个隐藏的iframe,并设置表单的目标属性以发布到该iframe,当表单被提交时,它会被发布(包括文件上传)到隐藏的iframe中,最后,该插件收集服务器对iframe的响应。“
如前所述,您可以从服务器发送响应,并相应地在您的网页上显示更新。 必须有一个演示页面,但它现在不能正常工作。
您也可以将其用于文件上传。
调用示例:
jQuery('#frmId').iframePostForm({
json : true,
post : function () {
//return true or false
return true;
},
complete : function (response) {
//complete event
console.log(response);
}
});
链接地址: http://www.djcxy.com/p/19601.html