Javascript 使用AJAX传递图像文件失败
我遇到了一个错误,上传图像文件时无法通过AJAX传递图像文件。这是我的密码 阿贾克斯 PHPJavascript 使用AJAX传递图像文件失败,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我遇到了一个错误,上传图像文件时无法通过AJAX传递图像文件。这是我的密码 阿贾克斯 PHP HTML 标题 视频缩略图**仅接受JPEG和PNG** PHP代码本身运行良好,因此我假设问题出在AJAX部分,但是我不确定如何解决这个问题。感谢所有的帮助 问题应该在参数processData上,请添加参数processData:false, 根据ajax请求,尝试在php上获取图像 $.ajax({ url: formURL,
HTML
标题
视频缩略图**仅接受JPEG和PNG**
PHP代码本身运行良好,因此我假设问题出在AJAX部分,但是我不确定如何解决这个问题。感谢所有的帮助 问题应该在参数processData上,请添加参数
processData:false,
根据ajax请求,尝试在php上获取图像
$.ajax({
url: formURL,
type: form.attr('method'),
dataType: 'json',
data: formData,//form.serialize(),
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
beforeSend: function(){},
success: function(data, textStatus, jqXHR) {},
error: function(jqXHR, textStatus, errorThrown)
{
alert(jqXHR+ textStatus+ errorThrown);
},
complete: function(){}
});
希望对您有所帮助。祝您好运将您的输入正确地放在一个表单中,然后使用
FormData()
将表单作为一个整体发送。我建议这样做:
<form method="post" enctype="multipart/formdata" id="myForm">
<input type="text" name="title" />
<input type="file" name="thumbnail" />
</form>
现在,您可以通过以下方式在php中获取数据:
$title = $_POST['title'];
$thumb = $_FILES['thumbnail'];
$tmp_file_path = $thumb['tmp_name'];
您可以使用ajaxForm()以异步方式发布整个表单,如下所示:
$("#newpost").ajaxForm({
success: function(data) {
$("div#postresult").removeClass("alert alert-danger");
$("div#postresult").html(data);
},
error: function(a, textStatus, exception) {
}
});
AjaxForm不是核心JQuery的一部分,但是您可以找到源代码和文档您能详细说明错误吗?试试这个:JQuery不提供AjaxForm方法。这是正确的。然而,问题只是指出答案应该使用ajax,而不是JQuery核心功能。我编辑了我的答案though@Quentin你介意更正反对票吗?
<form method="post" enctype="multipart/formdata" id="myForm">
<input type="text" name="title" />
<input type="file" name="thumbnail" />
</form>
var form = document.getElementById('myForm');
var formData = new FormData(form);
alert (formdata);
$.ajax({
url: "php/post-check.php",
type: "POST",
data: formData,
success: function (data) {
$("div#postresult").removeClass("alert alert-danger");
$("div#postresult").html(data);
}
});
$title = $_POST['title'];
$thumb = $_FILES['thumbnail'];
$tmp_file_path = $thumb['tmp_name'];
$("#newpost").ajaxForm({
success: function(data) {
$("div#postresult").removeClass("alert alert-danger");
$("div#postresult").html(data);
},
error: function(a, textStatus, exception) {
}
});