html部分:
文件上传
后端php部分:ajax.php
header("Content-Type: text/html;charset=utf8");
move_uploaded_file($_FILES["pic"]["tmp_name"],
"./" . "www.png");
?>
js部分,用js上传的时候是成功的,但用jquery的时候出现了两种错误:
一种是用$.ajax方法:
$(function(){
$(".sub").click(function(){
var fd=new FormData($("#up"));
$.ajax({
url: 'ajax.php' ,
type: 'POST',
data: fd,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (returndata) {
alert(returndata);
},
error: function (returndata) {
alert(returndata);
}
});
})
})
报错说找不到$_FILES里的pic,为什么呢?
补充:这个地方搞定了,var fd=new FormData($("#up"));需要写成:
var fd=new FormData($("#up")[0]);
具体可见:http://segmentfault.com/q/1010000004213457
和 http://segmentfault.com/a/1190000002938709
用$.post方法的时候:
$.post("ajax.php",fd,function(data){
console.log(data);
})
报错:Uncaught TypeError: Illegal invocation
这又是为什么呢?
(jquery是1.7.1版本的)