Javascript ajax的问题
我需要帮助我的项目,我必须做一个'拖放'区域,当图像被删除,它必须保存在服务器上(通过PHP,我成功),但也出现在HTML感谢通过PHP从AJAX的响应。我不知道该怎么做了,这里有一些代码错误。每次我看到JS警报都会宣布:“产生了一个异常:未定义”。我不使用Jquery或其他任何东西,它只是普通的PHP和Javascript,谢谢你的帮助 对不起,我英语不好,我是法国人:) 我的代码:Javascript ajax的问题,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我需要帮助我的项目,我必须做一个'拖放'区域,当图像被删除,它必须保存在服务器上(通过PHP,我成功),但也出现在HTML感谢通过PHP从AJAX的响应。我不知道该怎么做了,这里有一些代码错误。每次我看到JS警报都会宣布:“产生了一个异常:未定义”。我不使用Jquery或其他任何东西,它只是普通的PHP和Javascript,谢谢你的帮助 对不起,我英语不好,我是法国人:) 我的代码: <body onload="init()" > <div id=&quo
<body onload="init()" >
<div id="drop_file_zone" ondrop="upload_file(event)" ondragover="return false">
<div id="drag_upload_file">
<p>Drop file here</p>
<p>or</p>
<p><input type="button" value="Select File" onclick="file_explorer();"></p>
<input type="file" id="selectfile">
</div>
</div> <br>
<img id = "imageSource" src="uploads/"/>
<script type="text/javascript">
var fileobj;
var url = "ajax.php";
function upload_file(event) {
event.preventDefault();
var target = document.getElementById ("drop_file_zone");
for (var i = 0; i < 1; i++) {
var fileobj = event.dataTransfer.files[i];
ajax_file_upload(fileobj);
}}
function file_explorer() {
document.getElementById('selectfile').click();
document.getElementById('selectfile').onchange = function() {
fileobj = document.getElementById('selectfile').files[0];
ajax_file_upload(fileobj);
};
}
function init() {
request = new XMLHttpRequest();
var x = document.getElementById("imageSource");
}
function prepareData() {
let url = "ajax.php";
makeRequest( url, fileobj );
}
function ajax_file_upload(file_obj) {
request.onreadystatechange = alertContents;
var formData = new FormData();
formData.append('file', file_obj);
request.open('POST', url)
request.send(formData)
}
function alertContents() {
try {
if (request.readyState === XMLHttpRequest.DONE) {
if (request.status === 200) {
var reponse = JSON.parse( request.reponseText);
x.setAttribute("src", 'uploads' + reponse.text);
//document.getElementById("imageSource").src = reponse.text;
} else {
alert("Un problème est survenu au cours de la requête.");
}
}
}
catch( e ) {
alert("Une exception s’est produite : " + event.description);
}
}
</script>
</body>
</html>
把文件放在这里
或
var-fileobj;
var url=“ajax.php”;
函数上传文件(事件){
event.preventDefault();
var target=document.getElementById(“drop_file_zone”);
对于(变量i=0;i<1;i++){
var fileobj=event.dataTransfer.files[i];
ajax_文件上传(fileobj);
}}
函数文件_explorer(){
document.getElementById('selectfile')。单击();
document.getElementById('selectfile')。onchange=function(){
fileobj=document.getElementById('selectfile').files[0];
ajax_文件上传(fileobj);
};
}
函数init(){
请求=新的XMLHttpRequest();
var x=document.getElementById(“imageSource”);
}
函数prepareData(){
让url=“ajax.php”;
makeRequest(url、fileobj);
}
函数ajax\u文件上传(文件obj){
request.onreadystatechange=alertContents;
var formData=new formData();
formData.append('file',file_obj);
request.open('POST',url)
请求发送(formData)
}
函数alertContents(){
试一试{
if(request.readyState==XMLHttpRequest.DONE){
如果(request.status==200){
var reponse=JSON.parse(request.reponseText);
x、 setAttribute(“src”,“uploads”+reponse.text);
//document.getElementById(“imageSource”).src=reponse.text;
}否则{
警惕(“这是一个需要解决的问题”);
}
}
}
捕获(e){
警报(“Une异常的最新产品:+事件.说明”);
}
}
还有我的PHP
<?php
什么是请求
?不要使用全局变量。请求=新的XMLHttpRequest();当然,在init()
函数中,它是一个XMLHttpRequest
。但其他地方没有。变量应该在函数之间传递。如果您想依赖全局变量(不应该依赖),则需要在使用它们之前在全局范围内创建它们。什么是请求
?不要使用全局变量。请求=新的XMLHttpRequest();当然,在init()
函数中,它是一个XMLHttpRequest
。但其他地方没有。变量应该在函数之间传递。如果希望依赖全局变量(不应该依赖),则需要在使用它们之前在全局范围中创建它们。