为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 FormData 对象中捕获返回值

如何在 FormData 对象中捕获返回值

PHP
慕妹3242003 2021-11-19 17:03:26
我正在使用 FormData 上传文件,如下所示<script>var form = document.forms.namedItem("excelForm");form.addEventListener('submit', function(ev) {  oData = new FormData(form);oData.append("CustomField", "This is some extra data");var oReq = new XMLHttpRequest();oReq.open("POST", "excel", true);oReq.onload = function(oEvent) {    if (oReq.status == 200) {        $("#downloadButton").attr("style", "visibility: visible;")        alert(oReq.response)    } else {    alert(oReq.status)     }    };  oReq.send(oData);  ev.preventDefault();}, false);</script>这将调用一个 php 函数,该函数将返回一个 vlue,所以我想捕获该值,我使用 oReq.response 来捕获该返回值,但它不起作用这是我的 php 函数     public function actionexcel()    {        //.........            if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {//                re write the excel file                $fileName =$date. basename($_FILES["fileToUpload"]["name"]);                $newFile = $this->RewriteExcel($fileName);               return $fileName;            } else {                echo ini_get('upload_max_filesize');                echo "Sorry, there was an error uploading your file.";            }        }        return $data;    }
查看完整描述

1 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

在你的JavaScript 中:


var form = document.forms.namedItem("excelForm");

form.addEventListener('submit', function(ev){

    oData = new FormData(this);

    oData.append("CustomField", "This is some extra data");


    var oReq = new XMLHttpRequest();

    oReq.onreadystatechange= function(oEvent){

        if(this.readyState == 4 && this.status == 200){

            $("#downloadButton").attr("style", "visibility: visible;")

            alert(this.responseText)

        } else {

            alert(this.status);

        }

    };

    oReq.send(oData);

    ev.preventDefault();

}, false); 


// ensure that your php file is in the correct directory and is using '.php'

oReq.open("POST", "./excel.php");

// don't forget to send

oReq.send();

在您的PHP文件中:


// your class and method goes here

public function actionexcel(){ ... }

echo $class->actionexcel();


查看完整回答
反对 回复 2021-11-19
  • 1 回答
  • 0 关注
  • 216 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信