JavaScript通过AJAX发送完整的HTML源代码,UTF8存在问题

时间:2013-05-08 12:51:23

标签: javascript ajax utf-8

我在使用AJAX发送整页源时遇到了麻烦。我尝试使用escape()encodeURI()encodeURIComponent()转义内容 - 所有这些内容都无法发送utf8字符。

我的代码是:

var http = new XMLHttpRequest();
var send = params='html=' + encodeURIComponent(document.documentElement.outerHTML).replace('+',' ');
http.open('POST','submitsource.php',true);
http.setRequestHeader('Content-type','application/x-www-form-urlencoded; charset=UTF-8');
http.onreadystatechange=function(){if(http.readyState==4&&http.status==200){
    alert('ok!');
}};

http.send(params);

3 个答案:

答案 0 :(得分:1)

您可以使用标签Meta:

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >

答案 1 :(得分:0)

将您的内容类型设置为“text / html”,并在服务器上将整个帖子数据读取为html

答案 2 :(得分:0)

问题实际上是PHP将响应写入文件。我不得不在我的内容面前放置UTF-8签名,以便在不弄乱角色的情况下进行编写

file_put_contents('contents.txt', "\xEF\xBB\xBF".$_POST['html']);