ajax提交表單數據

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>

<form action="" method="post">
姓名 : <input type="text" name="name" id="name" value="" />
性別 : <input type="text" name="sex" id="sex" value="" />
學校 : <input type="text" name="school" id="school" value="" />
頭像 : <input type="file" name="pic" id="pic" value="" />
<img id="myPic" src=""/>
<input type="button" id="btn" name="btn" value="提交"/>
</form>
</body>
<script type="text/javascript">
var myPic = document.getElementById("myPic");
var btn = document.getElementById("btn");
//創(chuàng)建一個 xhr 對象
var xhr = new XMLHttpRequest();
//數據加載成功之后
xhr.onload=function(){
// console.log(this.responseText);
myPic.src = this.responseText;
}
btn.onclick=function(){
//設置數據
var formData = new FormData();
formData.append("name",document.getElementById("name").value);
formData.append("sex",document.getElementById("sex").value);
formData.append("school",document.getElementById("school").value);
formData.append("pic",document.getElementById("pic").files[0]);
// console.log(document.getElementById("pic").files);
//open
xhr.open("POST","register.php");
//send
xhr.send(formData);
}
</script>
</html>

<?php
//首先上傳頭像 如果頭像上傳不成功 就認為注冊失敗

//獲取文件
if(!empty($_FILES)){
    $strs = moveFile($_FILES["pic"]);
    //如果上傳成功了就寫入文件
    if($strs){
        $pf = fopen("record.txt","a+");
        
        $name = htmlspecialchars($_POST["name"]);
        $sex = htmlspecialchars($_POST["sex"]);
        $school = htmlspecialchars($_POST["school"]);
        
        $pic = $strs;
        $line = $name."|".$sex."|".$school."|".$pic."\n";
        fwrite($pf,$line);
        fclose($pf);
        echo $strs;
    }
}
//圖片保存到指定的位置
    function moveFile($upload){
        if(!is_dir("images")){     // is_dir(file)函數判斷指定的文件夾是否存在 file 是一個相對路徑
                mkdir("images");         // mkdir()函數創(chuàng)建文件夾
        }
         if(is_uploaded_file($upload['tmp_name'])){   // 判斷上傳是不是通過HTTP POST上傳的
            $str=stristr($upload['name'],'.');         // 獲取文件后綴名稱
            // strtotime()函數定義一個Unix時間戳
            $path="images/".$upload["name"];   // 定義上傳文件的存儲位置
            if(move_uploaded_file($upload['tmp_name'],$path)){   // 執(zhí)行文件上傳操作
                return $path;  // 返回文件路徑
            }else{
                return false; //上傳不成功返回false
            }
         }
    }

?>

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 個人博客:https://yeaseonzhang.github.io 花了半個多月的時間,終于又把“JS紅寶書”...
    Yeaseon閱讀 1,850評論 2 23
  • Ajax和XMLHttpRequest 我們通常將Ajax等同于XMLHttpRequest,但細究起來它們兩個是...
    changxiaonan閱讀 2,383評論 0 2
  • ajax作為前端開發(fā)必需的基礎能力之一,你可能會使用它,但并不一定懂得其原理,以及更深入的服務器通信相關的知識。在...
    蕭玄辭閱讀 885評論 0 0
  • 互聯(lián)網大數據時代,要求我們每個人都要具有反直覺思考的能力。什么是反直覺思考呢?今天我們通過三部分內容來詮釋,分別是...
    餅姑娘閱讀 394評論 1 2
  • 后來,所做的一切事情,大抵都是因為熱情與愛。如果沒有熱情與愛,人要很難堅持下去,或許也是信念的一種表達形式吧。 有...
    狗的故事閱讀 381評論 0 0

友情鏈接更多精彩內容