请问: 在用Ajax获取回传值后,这个值却是乱码? 请问如何解决?
在用Ajax获取回传值后,这个值却是乱码?测试过本地Js和服务器端PHP转码,都不灵。请问各位如何解决?以下是我的程序源码(省略了网页内容)js部分:varxmlHttp...
在用Ajax获取回传值后,这个值却是乱码?
测试过本地Js和服务器端PHP转码,都不灵。
请问各位如何解决?
以下是我的程序源码(省略了网页内容)
js部分:
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
//创建XMLHttpRequest对象
createXMLHttpRequest();
//获取表单数据并上传到相应的数据处理文件中
function callServer(){
//获取表单中的数据
var city = document.getElementById("city").value;
var state = document.getElementById("state").value;
//如果没有填写则返回
if ((city == null) || (city == "")) return;
if ((state == null) || (state == "")) return;
//链接服务器,自动获得代号。本例没有链接服务器,只是示例
var url = "AjaxgetV.php?city=" + escape(city) + "&state=" + escape(state);
//打开链接
xmlHttp.open("GET", url, true);
//告诉服务器在运行完成后(可能要用五分钟或者五个小时)做什么,这里触发updatePage函数
xmlHttp.onreadystatechange = updatePage;
//发送请求
xmlHttp.send(null);
}
//处理服务器响应
function updatePage(){
if (xmlHttp.readyState == 4) {
var response = xmlHttp.responseText;
//response = uniencode(response);
document.getElementById("zipCode").value = response;
}
}
在服务器中的AjaxgetV.PHP部分:
<?php
header('Content-Type:text/html;charset=GB2312');
require_once('../Connections/func.php');
$city = $_GET['city'];
$state = $_GET['state'];
$rs = $city."-".$state;
//$rs = safeEncoding($rs,"GB2312");
echo $rs;
?> 展开
测试过本地Js和服务器端PHP转码,都不灵。
请问各位如何解决?
以下是我的程序源码(省略了网页内容)
js部分:
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
//创建XMLHttpRequest对象
createXMLHttpRequest();
//获取表单数据并上传到相应的数据处理文件中
function callServer(){
//获取表单中的数据
var city = document.getElementById("city").value;
var state = document.getElementById("state").value;
//如果没有填写则返回
if ((city == null) || (city == "")) return;
if ((state == null) || (state == "")) return;
//链接服务器,自动获得代号。本例没有链接服务器,只是示例
var url = "AjaxgetV.php?city=" + escape(city) + "&state=" + escape(state);
//打开链接
xmlHttp.open("GET", url, true);
//告诉服务器在运行完成后(可能要用五分钟或者五个小时)做什么,这里触发updatePage函数
xmlHttp.onreadystatechange = updatePage;
//发送请求
xmlHttp.send(null);
}
//处理服务器响应
function updatePage(){
if (xmlHttp.readyState == 4) {
var response = xmlHttp.responseText;
//response = uniencode(response);
document.getElementById("zipCode").value = response;
}
}
在服务器中的AjaxgetV.PHP部分:
<?php
header('Content-Type:text/html;charset=GB2312');
require_once('../Connections/func.php');
$city = $_GET['city'];
$state = $_GET['state'];
$rs = $city."-".$state;
//$rs = safeEncoding($rs,"GB2312");
echo $rs;
?> 展开
展开全部
xmlHttp.open("GET", url, true);
改为
xmlHttp.open("GET", url,{key:value}, true);
把url问号后面的值以键值对的形式试试
改为
xmlHttp.open("GET", url,{key:value}, true);
把url问号后面的值以键值对的形式试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
尽量采用utf8编码 数据库也采用utf8编码
追问
可是已经无法更改了,因为工作量实在是太大了。
就没有有效的办法吗?
追答
浏览器直接访问AjaxgetV.PHP会不会乱码?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
new String(role.getName(),getbeyts("iso-8859-1"),"utf-8");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-07-09
展开全部
charset=GB2312是不是要改成charset=UTF-8 ?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询