• ajax+FormData+javascript 实现无刷新上传附件


    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    <script type="text/javascript">
    window.onload=function()
    {
        var fm=document.getElementsByTagName("form")[0];
    
        
        fm.onsubmit=function()
        {
        //var username=document.getElementById("username").value;
        // var password=document.getElementById("password").value;
        // var email=document.getElementById("email").value;    
        //var fmdata="username="+username+"&password="+password+"&email="+email;
        
        var fmdata=new FormData(fm);
        
            var xhr=new XMLHttpRequest();
            xhr.onreadystatechange=function()
            {
                if(xhr.readyState==4)
                {
                    eval("var obj="+xhr.responseText);
                    
                   document.getElementById("scjg").innerHTML=obj.jg;
                   if(obj.name!=null){
                   document.getElementById("sctp").innerHTML='<img src="'+obj.name+'" width="89" height="70"  alt=""/>';}
                }
                   
            } 
            xhr.open("POST","/1.php");
             //使用formData不用设置表头
             //xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
              xhr.send(fmdata);
            return false;
        }
            
    }
    </script>
    </head>
    
    <body>
    <div id="scjg"></div>
    <div id="sctp"></div>
    ajax+FormData+javascript 实现无刷新表单注册
    <form method="post">
    姓名<input name="username" type="text" id="username">
    <br>
    密码<input name="password" type="password" id="password">
    <br>
    邮箱<input name="email" type="text" id="email">
    <br>
    文件<input name="nfile" type="file" id="nfile">
    <br>
    <input type="submit" value="提交"></form>
    </body>
    </html>
    <?php
    //print_r($_POST);
    //print_r($_FILES);
    $ary=array();
    if($_FILES["nfile"]["error"]>0){
    $ary['jg']='上传附件有问题,有可能没有附件';    
    echo json_encode($ary);
    exit();
    }
    
    
    $path="./upfile/";
    
    $name=$_FILES["nfile"]['name'];
    //附件上传
    if(move_uploaded_file($_FILES["nfile"]['tmp_name'],iconv("UTF-8","GBK",$path.$name)))
    {
    $ary['jg']="上传成功";
    $ary['name']=$path.$name;
    }else{
    $ary['jg']="上传失败";
    }
    echo json_encode($ary);
    
    
    ?>
  • 相关阅读:
    如何用微软StreamInsight 处理和分析实时数据
    网站压力测试软件WebBench以及压测Jexus
    Xamarin 开源应用汇集
    微软开源 C++ REST SDK
    Visual Studio 2010/2012 Pro Power Tools
    深入浅出事件流处理NEsper(一)
    将Windows日志转换为Syslog
    事件流处理框架NEsper for .NET
    WCF技术剖析之二十一: WCF基本的异常处理模式[上篇]
    WCF技术剖析之二十一:WCF基本异常处理模式[下篇]
  • 原文地址:https://www.cnblogs.com/zywf/p/5463429.html
Copyright © 2020-2023  润新知