我使用Bootstrap,在Modalbox中有一个窗体。
还有一个文件上传,我想上传图像,但如果我点击提交按钮,网站看起来像重新加载瞬间,没有文件上传...
这是我的Ajax脚本
<script type="text/javascript">
$("#submitad").click(function () {
$.ajax({
url: "application/views/addad.php",
type: "POST",
data: $("#addad").serialize(),
success: function (data)
{
alert(data);
}
});
});
</script>
这是用于上传的html表单字段
这里是PHP的事情
<?php
$target_dir = "uploads/";
$filename = basename($_FILES["InputFile"]["name"]);
$target_file = $target_dir . $filename;
$imageFileType = pathinfo($target_file, PATHINFO_EXTENSION);
$check = getimagesize($_FILES["InputFile"]["tmp_name"]);
if ($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
} else {
echo "File is not an image.";
}
?>
但它不起作用。。。
如果我将其从php文件中删除,它将使用type=“text”和数字保存我的其他字段
但是文件上传不起作用,我已经尝试了很多我在谷歌上找到的
要使用ajax上传文件,必须使用FormData()
而不是序列化
。所以试着这样做:
var file_data = $('#InputFile').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data); // you can append as many values here as you want
$.ajax({
url : 'addad.php',
dataType : 'text',
cache : false,
contentType : false,
processData : false,
data : form_data,
type : 'post',
success : function(output){
alert(output);
}
});
工作实例
尝试下面的代码,并在ajax代码中做一些更改。在代码中添加以下参数。
processData:false,contentType:false,
并在ajax启动之前添加var formData=new FormData($("#formID")[0]);行。
或者检查下面的代码并根据您的代码进行更改。
<script type="text/javascript">
$("#submitad").click(function () {
var formData = new FormData($("#addad")[0]);
$.ajax({
url: "application/views/addad.php",
type: "POST",
data: formData,
processData: false,
contentType: false,
success: function (data)
{
alert(data);
}
});
});
</script>
我正在开发一个带有文件上传的web应用程序。 我只是写了一个PHP代码来上传一个图像。 当我运行此代码时,我可以在文件上传时获得输出,如果上传错误 我给了777权限来访问pic文件夹 有什么问题,有什么想法吗,, 类型 Print_R 数组 谢啦
我无法上传新泽西州的文件。使用泽西1.9。InputStream到达服务时为空。我尝试过将其作为普通表单提交和使用jQuery表单插件的AJAX提交,但结果都是一样的。也没有记录任何异常,这让它更加令人沮丧。 HTML表单 聚甲醛 Eclipse中的依赖层次结构显示mimepull.jar1.6也被引入。 剩下的服务 如果我添加@FormDataParam(“fileupload_name”)Fo
我对Angular 2相当陌生,请考虑一下。 我在使用angular 2将文件上传到节点服务器时遇到了一个问题。使用邮递员很管用:
我的代码有什么问题?我想有人能帮我。
问题内容: Java控制器类: html文件: 角js: 这是我在服务器日志中无法理解的错误: 问题答案: 尝试以下方法。对我来说很好。 HTML你应该有 注意输入的名称。 然后在JS控制器方法中 现在在您的Java Controller类中 希望这对您有用。并且也要进行异常处理。
问题内容: Java控制器类: html文件: 角js: 这是我在服务器日志中无法理解的错误: 问题答案: 尝试以下方法。对我来说很好。 HTML你应该有 注意输入的名称。 然后在JS控制器方法中 现在在您的Java Controller类中 希望这对您有用。并且也要进行异常处理。