HTML:
<form id="myForm" style="display:none" action='picture.php' method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file"/><br/>
<input type="submit" id="submit"/><br/>
</form>
脚本:
$('#templatemo_content_wrapper').on('click', '#change',function(){
$("#file").trigger('click');
});
$('#file').change(function(){
$("#submit").trigger('click');
});
$('#myForm').ajaxForm({
beforeSend : function(){
$('#change').fadeOut(1);
},
UploadProgress : function(){},
success : function(){},
complete : function(){
var split = location.search.replace('?', '').split('=')
var id = split[1];
$.post('profile_processor.php',{id:id},function(data){
$('#templatemo_content_wrapper').html(data);
checked('rel');
checked('gpa');
checked('student');
});
$('#upload_pic').fadeOut(1);
$('#change').fadeIn(1);
}
});
PHP:
if(isset($_FILES['file'])===true){
if(!empty($name=$_FILES['file']['name'])){
$allowed=array('jpg','jpeg','gif','png');
$file_name=$_FILES['file']['name'];
$file_ext=strtolower(end(explode('.',$file_name)));
$file_temp=$_FILES['file']['tmp_name'];
if(in_array($file_ext,$allowed)===true){
cheange_profile_picture($session_user_id,$file_temp,$file_ext);
mysql_query("UPDATE `users` SET `img_active`=1 where `id`=$session_user_id");
}
}
}
当我将文件上传到 Godaddy主机时,除了其中一个之外,没有一个AJAX调用工作。 AJAX调用不会将数据发送到PHP脚本。为了更清楚,如果我在页面的乞讨中在PHP中添加die();
,它根本不会影响代码。但是,如果我在AJAX alert()
回调中添加success
,则会显示警告。我真的不知道如何提出解决方案。
非常感谢任何帮助。