`
bnmnba
  • 浏览: 293615 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

javascript引入后乱码,js文件乱码,html乱码,ajax乱码,ajax,json

 
阅读更多

 

这里指的所有乱码都是指在文本编辑器里正常,但是在浏览器里乱码。

这里有个例子,可以解决几个问题。

 

浏览器中html乱码js乱码 可能是没有<!DOCTYPE html>和<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

html的头很重要,不能写错,甚至引号都不能少。

html文件:(utf-8编码方式存储为.html文本文件

<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<style type="text/css"></style>
<script type="text/javascript">
function deal(data){
	alert(data.data[0]);
	}
function clicked(){
	ajaxPost('../PPHttpServlet',deal,"",true,"json");
	//alert("cliked");
}
</script>
<body>嗨
	
<a href="javascript:clicked()" id="a"> click</a>

</body>
<script type="text/javascript" src="ajaxUtil.js"></script>
</html>
 

ajaxUtil.js文件:(utf-8编码 存储为.js文本文件)

var xmlHttp= false;
function createXMLHttpRequest() {
    /* Create a new XMLHttpRequest object to talk to the Web server */
	var xmlHttp = false;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	try {
	  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	  try {
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (e2) {
		xmlHttp = false;
	  }
	}
	@end @*/
	if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
	  xmlHttp = new XMLHttpRequest();
	}
	return xmlHttp;
}   
xmlHttp=createXMLHttpRequest();
/**
 * ajaxPost('../PPHttpServlet',deal,"param1=type1&param2=type2",true,"json");
 * @param url the url ,param is permissible.
 * @param fun function(data)
 * @param params param1=1&param2=2 . Will be encodeURI twice,please decode once if there are native language. 
 * @param asyn true:asynchronized else not asynchronized
 * @param type text:response text/json : prase responseText to  json Object/xml :responseXML 
 */
function ajaxPost(url,fun,params,asyn,type) {
	if(asyn){
    	asyn=true;
    }else{
    	asyn=false;
    }
	xmlHttp.open("POST", url, asyn);
	xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlHttp.onreadystatechange = function(){
    	//alert(xmlHttp.readyState);
    	if(xmlHttp.readyState == 4) {
			//alert(xmlHttp.status);
            if(xmlHttp.status == 200) { 
            	if (type=="json") {
            		var json=null;
            		try{
            			 json=getJson(xmlHttp.responseText);//xmlHttp.responseText like String:{data:['a','a']}
            		}catch (e) {
						alert(e);
					}
            		//alert(json);
            		//alert(json.data[1]);
					fun(json);
				}else if(type=="xml"){
					fun(xmlHttp.responseXML);
				}else{
					fun(xmlHttp.responseText);
				}
				//alert(xmlHttp.responseText);
            }else if(xmlHttp.status == 404) {
            	try{
            	//var urlL=window.location.href;
            	//urlL.subString("");
				alert("url unreachable:"+url);
            	}catch(e){}
			}
        }
        };
  
	if(typeof params!= 'undefined'){
		params=encodeURI(params);
		params=encodeURI(params);
		xmlHttp.send(params);
	}else{
		xmlHttp.send(null);
	}

	//alert("posted");
}
function getJson(str){
	var json= eval("("+str+")");
	return json;
}
 

ajax乱码的话,url参数乱码 可以用下面的设置解决:

    xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

 

    ajax 的param参数乱码 可以在前台进行两次编码

    params=encodeURI(params);
    params=encodeURI(params);

    后台进行一次解码 (前台进行一次编码,后台不解码看起来可以,事实证明不行。)

    str=URLDecoder.decode(str,"UTF-8");

 

 

分享到:
评论

相关推荐

    json 中文乱码解决方案

    ### json 中文乱码解决方案 在处理JSON数据时,经常会出现中文乱码的问题,尤其是在不同编码格式间进行转换时更为常见。本文将详细介绍如何解决JSON中的中文乱码问题,并提供几种简单实用的方法来帮助开发者避免这...

    Ajax中文乱码问题解决方案

    在IT行业中,Ajax(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下,与服务器交换数据并更新部分网页的技术。然而,在处理中文字符时,Ajax请求可能会遇到乱码问题,这主要是由于编码格式不一致...

    c# ajax post数据乱码解决

    在开发过程中,尤其是在使用C#与ASP.NET进行Web开发时,经常会遇到客户端通过Ajax向服务器端发送Post请求后,服务器端接收到的数据出现乱码的问题。这种情况不仅影响用户体验,也可能会导致程序逻辑出现问题。本文将...

    解决ajax乱码和页面传值问题

    一、解决Ajax乱码问题 Ajax发送和接收数据时,乱码问题主要出现在两个环节:发送请求时的数据编码和服务器返回数据的解码。以下是解决乱码的关键步骤: 1. 数据编码:在发送Ajax请求前,确保你的数据已经正确编码...

    JQuery ajax 返回json时出现中文乱码该如何解决

    在使用JQuery的ajax方法调用返回JSON格式数据时,如果遇到中文字符显示乱码的情况,这是一个常见的问题,尤其在前后端交互过程中,因为编码格式不一致导致的字符显示错误。为了解决这个问题,我们需要确保前后端在...

    java+ajax处理乱码实例

    在接收到服务器响应时,如果数据是JSON格式,Ajax可以自动处理编码,但如果数据是XML或HTML,可能需要手动解码。例如,使用jQuery的`$.ajax`方法: ```javascript $.ajax({ url: '/your-endpoint', type: 'GET', ...

    json中文乱码

    ### JSON中文乱码问题解析与解决方法 #### 一、问题背景 在处理JSON数据时,经常遇到中文字符出现乱码的问题。这主要是由于编码不一致导致的。本篇文章将详细探讨这一问题,并提供相应的解决方案。 #### 二、JSON...

    JavaScript读二进制文件并用ajax传输二进制流的方法

    在JavaScript中,处理二进制文件并使用Ajax传输二进制流是一项常见的任务,尤其是在进行文件上传或数据传输时。由于浏览器之间的差异,实现这一功能需要考虑不同的API和兼容性问题。以下是一份详细的指南,涵盖了...

    struts2乱码与json插件(1)

    然后,在相应的JSP页面或JavaScript中,可以通过Ajax请求获取这个Action的JSON响应。这通常涉及jQuery或其他库的使用,如: ```javascript $.ajax({ url: 'myAction.action', type: 'POST', dataType: 'json', ...

    Ajax中文乱码问题解决方法

    首先,我们需要理解Ajax乱码的根源。当JavaScript发送HTTP请求时,如果服务器和客户端之间关于字符编码的约定不一致,就会导致乱码。常见的原因包括: 1. **请求头设置不正确**:Ajax请求默认使用UTF-8编码,但...

    ajax提交乱码

    在IT领域,特别是Web开发中,遇到“Ajax提交乱码”的问题是非常常见的,尤其是在处理中文或其它非英文字符集时。根据给定的文件信息,我们可以深入探讨如何使用Jquery来解决这一问题。 ### Ajax提交乱码问题的本质 ...

    ajax提交中文乱码解决方法

    ### AJAX提交中文乱码解决方法 在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过JavaScript发起异步请求,与服务器进行数据交换,从而...

    Ajax乱码解决办法

    本文将详细探讨Ajax乱码的产生原因以及解决方案。 ### 一、乱码产生的原因 1. **服务器端编码不一致**:如果服务器返回的数据编码格式与客户端(浏览器)的预期编码不同,就会产生乱码。例如,服务器返回UTF-8编码...

    以\"对象\"方式接收json数据.(解决乱码问题)

    例如,如果你在使用jQuery(压缩包文件中的`jquery.js`),可以使用`$.ajax()`或`$.getJSON()`方法,它们默认处理UTF-8编码。如果需要自定义编码,可以通过配置`xhrFields`或`contentType`参数来实现。 ```...

    ajax提交,后台中文乱码解决

    本文将基于提供的文件信息,详细解析两种解决Ajax提交后台取值中文乱码的方法。 ### 方法一:使用URL编码 在第一个示例中,开发者通过调用`encodeURIComponent()`或`encodeURI()`函数对请求URL中的参数进行编码。...

    ajax传输json出错问题

    6. **JSON.parse()错误**:在接收到服务器响应后,前端通常会使用`JSON.parse()`方法将字符串转换为JavaScript对象。如果响应不是有效的JSON格式,这个方法会抛出错误。 7. **后端接口问题**:问题也可能出在后端,...

    Ajax uri 乱码问题总结

    Ajax URI 乱码问题主要涉及浏览器差异和服务器配置两方面,尤其在处理非 ASCII 字符时,编码格式的不一致可能导致乱码。以下是对这个问题的详细解析和解决方案: 1. **浏览器差异**: - **Internet Explorer (IE)*...

    解决Ajax加载JSon数据中文乱码问题

    在本文中,我们将深入探讨如何解决Ajax加载JSON数据时出现的中文乱码问题。这个问题通常发生在前后端交互过程中,特别是当使用zTree等组件进行异步数据加载时。本文将通过一个具体的例子来阐述问题所在,并提供解决...

    AJAX中文乱码总结

    AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。中文乱码问题在AJAX应用中时有出现,主要表现为从服务器获取的数据在前端显示时出现乱码。本篇文章将对...

    用ajax传递json到前台中文出现问号乱码问题的解决办法

    在请求成功后,从服务器返回的数据常常是一个JSON对象,前端JavaScript代码需要解析这个JSON对象以便在页面上展示数据。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...

Global site tag (gtag.js) - Google Analytics