iis服务器助手广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >ajax中一些乱码问题的示例分析
  • 721
分享到

ajax中一些乱码问题的示例分析

2024-04-02 19:04:59 721人浏览 安东尼
摘要

这篇文章主要介绍了ajax中一些乱码问题的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 创建xmlH

这篇文章主要介绍了ajax中一些乱码问题的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创建xmlHttprequest 对象。

复制代码 代码如下:

return window.ActiveXObject ? new window.ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest;


次对象一个 onreadystatechange 事件。有两个属性readyState,status。简单的AJAX我们将使用到这几个东西。
以下使用到的createXMLHttp()方法就是上面这段代码!
1:以GET方式发出一个请求的实现;

复制代码 代码如下:


var get = function(url, b, callback){
var xmlhttp = createXMLHttp();
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
callback(xmlhttp.responseText);
}
}
if(b != undefined){
var arr=[],e;
for( e in b ){
arr.push(e + '=' + encodeURIComponent(b[e]));
//arr.push(e + '=' + b[e]);
// 经过测试如果不使用 encodeURIComponent 编码在IE8下无法正确传递中文
}
url += '?' + arr.join('&');
}
xmlhttp.open('GET', url, true);
xmlhttp.send();
}

// 具体这个函数的参数设置也可以根据自己的习惯来设置


使用GET方式去发送一个请求,我们是把要传递的参数格式化(a=1,b=2) 以后附加到URL的后面。
服务器页面使用获取URL参数的方式即可获得。(比如PHP: $_GET["a"]);
值得注意的是我们在格式化参数的时候 使用到一个 encodeURIComponent()方法进行了编码是为了不出现乱码;
其实有3个方法可以完成这个工作。escape,encodeURI,encodeURIComponent,大家可以查下资料。前两个方法对于一些特殊字符还是没有进行编码。
所以使用第3个是比较好的选择了。
如果你不使用编码直接发送数据,各个浏览器的表现可能不一样。比如IE你在发送中文数据的时候就会出现乱码(当然出现乱码的情况还很多,请接着看..)。

2:以POST方法发送一个请求的实现

复制代码 代码如下:


var ajax = function(a){
var xmlhttp = createXMLHttp();
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4 && xmlhttp.status == 200 ){
a.success(xmlhttp.responseText);
} else return xmlhttp;
}
xmlhttp.open('POST', a.url, true);
// 请求为post的时候 必须设置头信息
xmlhttp.setRequestHeader("Content-type", "application/x-www-fORM-urlencoded");
// 序列化要发送的数据
var c = [];
for(var e in a.data){
c.push(e + '=' + encodeURIComponent(a.data[e]));
// 经过测试 经过URL编码以后更能够保证发送数据的正确性。
      //不编码可能造成部分特殊字符不能正确发送
}
a.data = c.join('&');
xmlhttp.setRequestHeader("Content-length", c.length); // 好像是可选
xmlhttp.setRequestHeader("Connection", "close"); // 好像是可选
xmlhttp.send(a.data);
// 次数据发送以后服务端 使用 post 获取数据 比如php $_POST['a'];
}


参数a是一个对象 他包含 {url:"http:...",data:{a:1,b2},success:function(){}}
             地址 数据 成功回调函数  
使用POST方法发出请求。数据也必须格式化(a=1,b=2) ;不过跟GET方法不一样的地方是 我们是把数据写在了send()方法里(xmlhttp.send(a.data);)。
服务器页面使用获取表单数据的方式即可获得。(比如Php: $_POST["a"]);
值得注意的是在使用post发送请求的时候 我们必须设置请求的头信息。
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
经过测试如果不设置Content-type为application/x-www-form-urlencoded;服务器页面是无法获取到通过send()方法发送的数据。

最后 关于乱码的问题。上面已经有两个地方会出现错误了。
1:比如参数没有进行编码直接传递,会出现传递不成功的问题。
2:在使用POST方法的时候没有设置Content-type,服务器页面无法获取发送过来的参数;
3:发送请求页面与请求页面的编码问题。在标准浏览器下请一定保持请求页面和被请求页面的编码方式是utf-8,不然中文会很悲剧。

复制代码 代码如下:


<!--<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />-->
<!--// 经过测试 不使用上面的meta 申明charset在IE下会出现乱码-->
<!--
* header("Content-Type: text/html; charset=gb2312");
被调用的AJAX页面使用了gb2312的编码 在chorme下出现了乱码。
在IE下正常访问
-->

上面这里出现乱码的情况非常乱,不好排除。所以保持两个页面编码为UTF-8 参数编码后在传递。可以有效防止乱码

感谢你能够认真阅读完这篇文章,希望小编分享的“ajax中一些乱码问题的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网node.js频道,更多相关知识等着你来学习!

--结束END--

本文标题: ajax中一些乱码问题的示例分析

本文链接: https://www.lsjlt.com/news/83010.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ajax中一些乱码问题的示例分析
    这篇文章主要介绍了ajax中一些乱码问题的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 创建xmlh...
    99+
    2024-04-02
  • IE8/IE9下Ajax缓存问题的示例分析
    这篇文章主要为大家展示了“IE8/IE9下Ajax缓存问题的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“IE8/IE9下Ajax缓存问题的示例分析”这...
    99+
    2024-04-02
  • 原生js中ajax访问的示例分析
    这篇文章主要介绍原生js中ajax访问的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!原生js中ajax访问的实例详解form表单中 登录名: 失去光标即触发事件functi...
    99+
    2024-04-02
  • JQuery中AJAX的示例分析
    这篇文章将为大家详细讲解有关JQuery中AJAX的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。$.ajax({   url:"h...
    99+
    2024-04-02
  • Filezilla中续传和乱码的示例分析
    这篇文章主要介绍了Filezilla中续传和乱码的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。问:听说FileZilla不能续传,是真的吗答:那是很久以前的事,现在...
    99+
    2023-06-16
  • JavaScript中Ajax的示例分析
    这篇文章给大家分享的是有关JavaScript中Ajax的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Ajax1.创建步骤:1.创建一个XMLHttpRequest异步...
    99+
    2024-04-02
  • ajax通用代码的示例分析
    这篇文章主要介绍ajax通用代码的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:<html> <head> <script ...
    99+
    2024-04-02
  • ajax的示例分析
    这篇文章主要介绍了ajax的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。AJAX不是JavaScript的规范,它只是一个哥们“发...
    99+
    2024-04-02
  • idea中ssm框架编码问题的示例分析
    这篇文章主要为大家展示了“idea中ssm框架编码问题的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“idea中ssm框架编码问题的示例分析”这篇文章吧。idea中ssm框架的编码问题介...
    99+
    2023-06-15
  • 如何解决AJAX中文乱码问题
    本篇内容介绍了“如何解决AJAX中文乱码问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • Java中文问题的示例分析
    这篇文章将为大家详细讲解有关Java中文问题的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我来说一下tomcat如何实现JSP的你就明白了。预备知识: 1.字节和unicode  Java内核是...
    99+
    2023-06-03
  • Ajax中循环的示例分析
    小编给大家分享一下Ajax中循环的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Ajax 简介Ajax 由 HTML、J...
    99+
    2024-04-02
  • ajax中文乱码问题怎么解决
    本篇内容主要讲解“ajax中文乱码问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ajax中文乱码问题怎么解决”吧! a...
    99+
    2024-04-02
  • mysqldump问题的示例分析
    mysqldump问题的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。导出:mysqldump数据库[表]>/t...
    99+
    2024-04-02
  • PHP怎么解决AJAX中文乱码问题
    这篇文章主要介绍“PHP怎么解决AJAX中文乱码问题”,在日常操作中,相信很多人在PHP怎么解决AJAX中文乱码问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP怎么解...
    99+
    2024-04-02
  • Python中复数问题的示例分析
    这篇文章主要介绍Python中复数问题的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!问题关于 Python 的复数类型,以下选项中描述错误的是A复数的虚数部分通过后缀“J”或者“j”来表示B对于复数 z,可...
    99+
    2023-06-15
  • 解析golang中的mahonia乱码问题
    golang是一门非常优秀的编程语言,支持多种平台和架构。在使用golang进行中文编程时,我们常常遇到字符编码的问题,其中最常见的问题就是乱码。而golang内置的mahonia库就是一款解决字符编码问题的工具。然而,在实际使用过程中,我...
    99+
    2023-05-14
  • 如何进行Python 中文乱码问题的分析
    本篇文章给大家分享的是有关如何进行Python 中文乱码问题的分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。建立一个文件test.txt,文件格式用ANSI,内容为:abc...
    99+
    2023-06-17
  • AJAX中XMLHttpRequest对象的示例分析
    这篇文章主要介绍AJAX中XMLHttpRequest对象的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!AJAX是一种创建交互式网页应用的网页开发技术,是异步Javascr...
    99+
    2024-04-02
  • JQuery中AJAX参数的示例分析
    这篇文章主要介绍JQuery中AJAX参数的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!context类型:Object这个对象用于设置 Ajax 相关回调函数的上下文。也...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作