2015-01-19 3 views
0

Я пытаюсь прочитать содержимое локального текстового файла в текстовой области, а затем изменить текстовое поле и впоследствии сохранить значение измененной текстовой области в один и тот же локальный файл. Я не могу использовать код на стороне сервера, поэтому попробуйте это с помощью метода Jquery Ajax post. Мой HTML выглядит следующим образом -JQuery Ajax Post Data to Local File


<html> 
    <head> 
     <title>Edit Properties</title> 
     <script src="http://code.jquery.com/jquery-latest.js"></script> 
     <script src="./js/graph/graph.js"></script> 
     <script>  
var testpath; 
var buildpath; 
var dataOnFile; 
var buildnum; 
    function loadFile() { 
     var URL = "somepath"; 
     if (window.XMLHttpRequest) { 
      xhttp = new XMLHttpRequest(); 
     } else { 
      xhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xhttp.open("GET", URL, false); 
     xhttp.send(""); 
     return xhttp.response;  
    } 

    function edit(){  
    $(document).ready(function() { 
    //console.log(loadFile()); 
     $("#area").val(loadFile());//load the contents correctly 
     $("#save").click(function() 
      { 
       testpath = window.location; 
       buildpath=(testpath+"").replace("somepath1",""); 
       buildpath= buildpath + "somepath2"; 
       dataOnFile=$("#area").val();    
       console.log(dataOnFile);//logs updated value of text area 
       $.ajax({ 
        type : "POST", 
        async:false,     
        data : dataOnFile,  
        url:buildpath, 
        dataType : "text", 
        success: function(data) {     
        alert("File Saved"); 
        } 
       }); 
      }); 
     }); 
    } 
    </script> 
<body onload="edit()"> 
     <p> 
      <textarea rows="50" cols="100" id="area"></textarea> 
      <input type='button' value='Save File' id="save"/> 
     </p> 
    </body> 
</html> 

Это работает без ошибок, но мои изменения не будут сохранены в файл. Любые указатели на это?

+1

Как вы можете изменить что-либо на вашем сервере не используется на стороне сервера код? :-) Вы пытаетесь отправить торт по мобильному телефону –

+0

* «Я не могу использовать код на стороне сервера» * Тогда то, что вы пытаетесь, невозможно. –

+0

yeap, и что на стороне сервера, даже вы не можете его изменить? –

ответ

0

Javascript был разработан таким образом, который запрещает доступ к файловой системе. Если вы хотите mannupilate файлы, вероятно, вы должны использовать язык на стороне сервера, например php. Это руководство может помочь вам получить то, что вы пытаетесь сделать:

Beginners guide to Ajax with PHP