Ajax,Uncaught ReferenceError:未定义数据



我正在尝试上传一张照片,并在另一个php文件上传递它的数据和另一个数据。当我选择照片并上传时,当前的php文件会出现错误:Uncaught ReferenceError:PZ71AUGW5O295未定义。PZ71AUGW5O295是获得的teamCode。抱歉可能出现语法错误。

<?php
$teamCode = $_GET['tc'];
?>
var uploader = {
url: "faces.php",
method: "POST",
success: function (data){

}
};
function update() {
searchParams = new FormData();
searchParams.append('teamCode', <?php echo $teamCode;  ?>); // the error will be here
searchParams.append('selfie', document.getElementById("faceinput").files[0]);
uploader.cache = false;
uploader.contentType = false;
uploader.processData = false;
uploader.xhr = function () {
var jqXHR = null;
if (window.ActiveXObject) {
jqXHR = new window.ActiveXObject("Microsoft.XMLHTTP");
} else {
jqXHR = new window.XMLHttpRequest();
}
//Upload progress
jqXHR.upload.addEventListener("progress", function (evt) {
if (evt.lengthComputable) {
var percentComplete = Math.round((evt.loaded * 100) / evt.total);
//Do something with upload progress
$(".progress-bar").css("width", percentComplete + "%");
}
}, false);
return jqXHR;
}
uploader.data = searchParams;
$.ajax(uploader);
}

在我上传照片后,我得到错误:

Uncaught ReferenceError: PZ71AUGW5O295 is not defined
at update (upload_photo.php?tc=PZ71AUGW5O295:86)
at HTMLInputElement.<anonymous> (upload_photo.php?tc=PZ71AUGW5O295:71)
at HTMLInputElement.dispatch (jquery.min.js:3)
at HTMLInputElement.r.handle (jquery.min.js:3)

您只是在js中回显php变量,然后解析后的数据将传输到js代码中,所以现在看看您的js代码会是什么样子。

searchParams.append('teamCode', PZ71AUGW5O295);

在这种情况下,js会尝试查看PZ71AUGW5O295变量是否存在,当然它不存在。

除此之外,看起来你做了很多不好的事情。例如,用GET而不是POST传递图像,用php图像提交以创建另一个请求。这个主意是什么?只需使用js在图像上传页面中构建您的请求,然后传递它,让php代码再次发送另一个请求的想法是什么。

最新更新