是否可以在不使用PHP的情况下使用JavaScript / jQuery将文本保存到新的文本文件中?我要保存的文本可能包含我不想转义或使用urlencode的HTML实体,JS,HTML,CSS和PHP脚本!
如果只能使用PHP来实现,如何将文本传递给PHP而不进行编码?
您必须具有服务器端脚本来处理您的请求,但这不能使用javascript完成。
要将没有URIencoding或转义特殊字符的原始数据发送到php并将其保存为新txt文件,您可以使用post方法发送ajax请求,FormData例如:
txt
post
FormData
JS:
var data = new FormData(); data.append("data" , "the_text_you_want_to_save"); var xhr = (window.XMLHttpRequest) ? new XMLHttpRequest() : new activeXObject("Microsoft.XMLHTTP"); xhr.open( 'post', '/path/to/php', true ); xhr.send(data);
PHP:
if(!empty($_POST['data'])){ $data = $_POST['data']; $fname = mktime() . ".txt";//generates random name $file = fopen("upload/" .$fname, 'w');//creates new file fwrite($file, $data); fclose($file); }
编辑:
如下面的Florian所述,由于FormData旧版浏览器不支持XHR后退(因为formdata浏览器兼容),因此不需要XHR后备,因此您可以将XHR变量声明为:
var xhr = new XMLHttpRequest();
另外请注意,这仅适用于支持FormDataIE +10的浏览器。