Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ajax的问题_Javascript_Php_Html_Ajax - Fatal编程技术网

Javascript ajax的问题

Javascript ajax的问题,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我需要帮助我的项目,我必须做一个'拖放'区域,当图像被删除,它必须保存在服务器上(通过PHP,我成功),但也出现在HTML感谢通过PHP从AJAX的响应。我不知道该怎么做了,这里有一些代码错误。每次我看到JS警报都会宣布:“产生了一个异常:未定义”。我不使用Jquery或其他任何东西,它只是普通的PHP和Javascript,谢谢你的帮助 对不起,我英语不好,我是法国人:) 我的代码: <body onload="init()" > <div id=&quo

我需要帮助我的项目,我必须做一个'拖放'区域,当图像被删除,它必须保存在服务器上(通过PHP,我成功),但也出现在HTML感谢通过PHP从AJAX的响应。我不知道该怎么做了,这里有一些代码错误。每次我看到JS警报都会宣布:“产生了一个异常:未定义”。我不使用Jquery或其他任何东西,它只是普通的PHP和Javascript,谢谢你的帮助

对不起,我英语不好,我是法国人:)

我的代码:

<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
。但其他地方没有。变量应该在函数之间传递。如果希望依赖全局变量(不应该依赖),则需要在使用它们之前在全局范围中创建它们。