我一直在与这件作品作斗争 几天的代码现在...... 非常感谢任何帮助
脚本调用php文件 命中提交键时出现问题。 但是,它不会发布表单数据 用它。
HTML表单
<form id="image_form" name="image_form" method="POST"
行动= “” ENCTYPE = “多部分/格式数据” &GT; 文件:
Javascipt
$(function() { $(".submit").click(function() { var obj = document.getElementById("form_div"); var load = document.getElementById("load"); jQuery.ajax({ type: "POST", name: "image", url: "upload_imagel.php", enctype: "multipart/form-data", beforeSend: function(){ obj.style.display = 'none'; load.innerHTML = "<img src='../images/misc/ajax-loader.gif'
/&gt;“中; }, 错误:function(){ 警报('错误已发生'); }, 超时:5000, 成功:功能(结果){ load.style.display ='none'; obj.style.display ='block'; } }) 返回false; }); });
PHP
以下是空的
$image=$_FILES['image']['name'];
感谢pekka,我将以下AJAX更改为
$(document).ready(function() {
var obj = document.getElementById("form_div");
var load = document.getElementById("load");
var options = {
beforeSend: function(){
obj.style.display = 'none';
load.innerHTML = "<img src='../images/misc/ajax-loader.gif' />";
},
success: function(){
load.style.display = 'none';
obj.style.display = 'block';
},
type: 'POST',
timeout: 5000
};
$('#image_form').submit(function() {
$(this).ajaxSubmit(options);
return false;
});
});
然而仍然遇到同样的问题
$image=$_FILES['image']['name'];
仍然空着:(
P.S。 html表格标题现在是
<form id="image_form" method="POST" action="sMain/upload_image_small.php" enctype="multipart/form-data">
我错过了什么吗?
答案 0 :(得分:2)
使用AJAX无法进行文件上传,因为您的脚本无法对客户端计算机上的文件进行读取访问。
您可以查看使用隐形iframe的jQuery form plugin来实现此目标。
答案 1 :(得分:0)
您可以尝试使用Plupload(http://www.plupload.com)。它具有很多功能,适用于文件上传。
答案 2 :(得分:0)
Pekka确实有效,我的php文件中输入了一个拼写错误。太烦人了。
谢谢..也通过不同的论坛发现了这个
http://www.ajaxf1.com/tutorial/ajax-file-upload-tutorial.html
感谢你们两位的帮助。