javascript - Write to file in JS using XMLHttpRequest? -
i figured out how read local .txt file on server js using xmlhttprequest api life of me cant write file. possible or reading files in?
my code read in works fine:
var freader = new xmlhttprequest(); freader.onreadystatechange=function() { if(freader.readystate==4 && freader.status==200) { parsetext(freader.responsetext);//processes file. }} freader.open("get",ffileloc,true); freader.send(); i'm using php write file, it's far ideal. i'd js it. thoughts? there approach doing this? php way?
thanks in advance,
-dave
edit: @rjmunro +others: found using php better way go this... revised code follows. (c&c welcome).
js:
var freader = xmlhttprequest(); //var params = "mode=get&file=data.txt";//to read //var params = "mode=post&file=data.txt&message=" + mymessage;//to write freader.onreadystatechange=function() { if(freader.readystate==4 && freader.status==200) { //not response text if writing... parsetext(json.parse(freader.responsetext).get); } } freader.setrequestheader("content-type", "application/x-www-form-urlencoded"); freader.setrequestheader("content-length", params.length); freader.setrequestheader("connection", "close"); freader.send(params); php
$mode = $_post['mode']; switch($mode) { case('get'): #read in file , process, return output. $return['get'] = file($_post['file']); break; case('post'): if(file_exists($_post['file'])){ $file = fopen($_post['file'],"a"); $data = $_post["message"]; fwrite($file,$data); fclose($file); } #$return['post'] = "some message?"; break; } echo json_encode($return); the thing i'm not 100% on solution why have setrequestheader? chrome doesnt seem this... pulled code post.
you can configure apache accept put requests, send 1 using xmlhttprequest (i'd use jquery.ajax() abstract this).
it's better have php (or server side language) handle you, though, difficult control authentication using apache.
Comments
Post a Comment