mysql xmlhttp_php_xmlhttp 乱码问题解决方法

resin在新版本中竟开始支持php了,偶感觉比较好玩,也是懒得在自己机器上再配置一组apache_php_mysql之流,毕竟以java为主做事情的嘛。于是将自己的一个php站点直接放resin里面做开发了,总体感觉还不错,基本功能没发现问题,但在继续优化过程中,想到了xmlhttp,便随手写了几个文件试一下,无刷新效果嘛,可是竟然遇到了中文乱码,于是五一一天就折腾这个了,也在中间从网站看了一些当前地球上的一些争争吵吵的事情,中美对弈,欧则看盘,一会儿顺着这边说,一会顺着那边扯,也有些意思,只是想,中国的80末以后的这些人会长成什么样子,靠吃6、70年代人赚下的本活着,还以享乐为荣,关键是还沾沾自喜,这类人不是传说中的垃圾么?懒得说了,还是看乱码吧

文件有三个,一个是htm,一个是php,一个是js,js用在htm中,php为服务端。

a.htm

a.js

function getXMLHTTPRequest(){

var xmlHttp;

if(window.ActiveXObject){

try{

xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");

}catch(e){

try{

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

}catch(e){

xmlHttp = false;

}

}

}else{

try{

xmlHttp = new XMLHttpRequest();

}catch(e){

xmlHttp = false;

}

}

if(!xmlHttp){

return false;

}else{

return xmlHttp;

}

}

function Ajax(){

this.url;

this.params = "";

this.parseParameters = function(thisform){

for(var i = 0; i < thisform.elements.length; i++){

var e = thisform.elements[i];

this.params += (e.name + "=" + e.value);

if(i != (thisform.elements.length - 1))

this.params += "&";

}

};

AjaxObj = getXMLHTTPRequest();

AjaxObj.onreadystatechange = processRequest;

this.post = function(){

AjaxObj.open("post", this.url, true);

AjaxObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');

if(this.params.length > 0)

AjaxObj.send(this.params);

else

AjaxObj.send();

}

}

function processRequest(){

if(AjaxObj.readyState == 4){

if(AjaxObj.status == 200){

if(AjaxObj.responseText != ""){

document.getElementById("show").innerHTML = "";

document.getElementById("show").innerHTML = AjaxObj.responseText;

}

}else{

alert("Exception.");

}

}else{

document.getElementById("show").innerHTML="Loading......";

}

}

a.php

header("Content-Type:text/html; charset=utf-8");

$name = $_POST['name'];

echo $name;

?>

全用utf-8编写存储,但死活就是不行,总说有问题,总出来有乱码,一天下来,脑袋晕乎乎滴,中午时候胳膊上绑了3kg沙袋,挥羽毛球拍挥了200,肌肉有点胀的感觉了,嗯,说明有锻炼效果了,过些天等发了薪水再去买一支练习拍,我常用的at700大约90g左右,练习拍在160g左右,应该比较有练习效果吧,不过右胳膊眼见着要比左胳膊粗了,貌似还需要一个大点的杠铃,把左胳膊也练一下才好

吃完晚饭,一怒之下,就把这三文件传一php的服务器上,一试,完全正常,没有乱码,我,我不说了,看来是resin的原因,呆会再找找,看一下Quercus有没最新的版本,是不是能支持的更好一些。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
XMLHttpRequest对象(简称XHR)是用于在客户端和服务器之间发送数据的JavaScript API。setRequestHeader()方法是XHR对象的一个方法,用于设置HTTP请求头。HTTP请求头是指在发送HTTP请求时,包含在请求中的附加信息,包括例如用户代理、cookie、授权信息等等。通过使用setRequestHeader()方法可以设置HTTP请求头的名称和值。 setRequestHeader()方法的参数包含两个: 1. header:要设置的HTTP请求头的名称,例如"Content-Type", "Accept", "Authorization"等等。 2. value:要设置的HTTP请求头的值,例如"text/plain", "application/json", "Bearer 1234567890"等等。 例如,我们可以使用setRequestHeader()方法来设置Content-Type请求头: ``` var xhr = new XMLHttpRequest(); xhr.open('POST', '/submit', true); xhr.setRequestHeader('Content-Type', 'application/json'); xhr.send(JSON.stringify({name: 'John', age: 30})); ``` 在上面的例子中,我们使用了POST请求,将一个JSON对象发送到服务器。在发送请求之前,我们使用setRequestHeader()方法设置了Content-Type请求头,告诉服务器我们发送的是JSON数据。 需要注意的是,如果使用setRequestHeader()方法设置的HTTP请求头已经存在,那么它的值会被覆盖。而且,某些HTTP请求头可能需要特定的值,否则服务器可能会返回错误。因此,在设置HTTP请求头时,我们需要仔细查看API文档,确保设置正确的名称和值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值