`
- 浏览:
37552 次
- 性别:
- 来自:
北京
-
AJAX中文问题分为两大类:
1)发送路径中的参数有中文,在服务器段接收参数值是乱码
例如:
var url="a.jsp?name=小李";
xmlHTTP.open ("post",url,true);
解决办法:
利用javascript的提供的escape()或encodeURI()方法
例如:
客户端:
var url="a.jsp?name=小李";
url=encodeURI(url);
url=encodeURI(url); //两次,很关键[具体为什么,我也不清楚]
/********************************************/
也有人写成var url="a.jsp?name=escape("小李")";
功能和encodeURI方法类似。
/********************************************/
xmlHTTP.setrequestheader("cache-control","no-cache");
xmlHTTP.setrequestheader("Content-Type","application/x-www-form-urlencoded");
xmlHTTP.setrequestheader("contentType","text/html;charset=uft-8")//指定发送数据的编码格式
xmlHTTP.open ("post",url,true);
服务器端:
String name = request.getParameter("name");
name = java.net.URLDecoder.decode("name", "UTF-8");
2)返回来的responseText或responseXML的值中含有中文是乱码
原因:AJAX在接收responseText或responseXML的值的时候是按照UTF-8的格式来解码的,如果服务器段发送的数据不是UTF-8的格式,那么接收responseText或responseXML的值有可能为乱码。
解决办法:在服务器指定发送数据的格式:
在jsp文件中:
response.setContentType("text/text;charset=UTF-8");//返回的是txt文本文件
或是
response.setContentType("text/xml;charset=UTF-8");//返回的xml文件
总结:1)ajax提交数据的格式默认为utf-8,利用javascript的提供的escape()或encodeURI()方法.在服务器端接收的时候要使用java.net.URLDecoder.decode("","UTF-8")方法进行解码.
2)xtmlhttp 返回的数据默认的字符编码是utf-8,所以服务器要向客户端发送数据的时候,也要采用utf-8编码
如果上述方法仍然解决不了乱码问题,那你尝试一下把jsp,htm,java文件用UTF-8编码格式保存.
总之:前后台数据交互都采用utf-8编码就行了.
本文是我抄自CSDN博客http://blog.csdn.net/jiaoxiaguoke/archive/2009/12/31/5110991.aspx
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
这里提到的"ajax jsp获取本地文件夹所有的路径"是一个示例,它展示了如何利用AJAX和JSP(JavaServer Pages)来获取并显示本地文件夹中的所有文件路径。这个案例对于实现文件管理器或类似功能非常有用。 首先,让...
在Thymeleaf中构建可靠的Ajax请求URL是Web开发中的一个重要环节,特别是在使用Spring Boot和其他MVC框架时。Thymeleaf是一个强大的服务器端模板引擎,它可以与Ajax结合使用,提供动态更新页面的能力,而无需刷新整个...
在大型项目中,URL路径的管理变得尤为重要,因为它涉及到各个接口的调用。在本例中,我们可以选择在`main.js`文件中定义一个全局变量`baseUrl`,用来存储服务器的基础URL。例如: ```javascript let baseUrl = ...
- `url`:指定了Ajax请求的目标URL。 - `async`:设置为true表示这是一个异步请求。 - `type`:指定HTTP方法为GET。 - `success`:当请求成功时执行的回调函数。 - `error`:当请求失败时执行的回调函数。 ###...
标题中的“jquery分享代码在线制作鼠标一键复制url路径功能与分享信息 微博分享”指的是使用jQuery库来创建一个功能,允许用户通过鼠标点击轻松复制网页URL,并且能够将此URL分享到不同的社交平台,如微博。...
3. 路径问题的处理:在Ajax请求中,如果网站页面存在嵌套路径,那么在请求时需要注意URL路径的正确性。在CakePHP中,一般要求URL结构是符合Restful风格的,如果需要指向父级目录的控制器动作,应当使用相对路径,并...
在ASP.NET中,URL重写是一个重要的功能,它通过隐藏实际的、可能复杂的服务器路径,提供用户友好的、可记忆的URL。这有助于SEO,因为简洁的URL更容易被搜索引擎理解和索引。实现URL重写的方式包括使用`System.Web....
接下来,我们将深入探讨如何在AJAX请求中实现跳转路径。 1. **AJAX基础** - **XMLHttpRequest对象**:AJAX的核心是XMLHttpRequest对象,它负责与服务器进行异步通信。通过创建这个对象,设置请求参数,然后发送...
首先,我们需要在`web.xml`配置文件中定义一个Servlet,这里名为`SelectCityServlet`,并映射到相应的URL路径。Servlet将处理AJAX请求,根据用户选择的省份返回对应城市的XML数据。 接着,我们创建JSP文件,其中...
这两个方法的区别在于,`encodeURI()`不会对URL中已经存在的部分进行编码,而`encodeURIComponent()`会将整个字符串按照URL编码规则进行编码,包括路径、查询字符串等部分。因此,对于需要作为参数传递的数据,推荐...
private static extern void AjaxRequest(string url, AjaxCallback callback); public delegate void AjaxCallback(string response); public void SendAjaxRequest() { AjaxRequest(...
在这里,我们注册了两个处理程序,一个用于POST和GET请求的"ajax/*.ashx"路径,另一个用于处理所有以".ashx"结尾的请求。类型分别指向`Ajax.PageHandlerFactory`和`Ajax.AjaxHandlerFactory`,这些都是AJAX库提供的...
调用Servlet的AJAX请求与Spring MVC中的方式相似,只是URL应指向Servlet的映射路径。 ```javascript $.ajax({ url: '/ajax', type: 'POST', data: { id: 1 }, success: function(user) { // 处理返回的用户...
然后,你可以定义一个处理Ajax请求的方法,通常这个方法会使用@RequestMapping注解,指定一个与Ajax请求URL匹配的路径。例如: ```java @Controller public class AjaxController { @RequestMapping(value = "/...
JavaScript代码同样需要考虑上下文路径,特别是在处理表单提交或AJAX请求时,确保路径正确无误是必要的。 ### 三、JSP/Servlet获取当前应用路径 #### 3.1 JSP获取当前应用路径 在JSP页面中,可以使用`request....
路径是:${ajax}\ajax\WEB-INF\classes\ajax_db.properties,用记事本打开。那个${ajax}就是你当前存放ajax这个文件夹的路 径 DRIVERS=com.mysql.jdbc.Driver URL=jdbc:mysql://localhost/ajax?useUnicode=true&...
设置URL为PHP脚本的路径,方法通常为GET或POST,根据需求决定是否传递数据。 4. **PHP处理**:在服务器端,PHP脚本接收Ajax发送的数据(如果有的话),可能执行一些逻辑(如数据库查询),然后生成响应数据。 5. *...
2. **初始化请求**:设置请求的URL、方法(GET或POST)、是否异步等参数。 3. **打开连接**:调用XMLHttpRequest对象的open()方法来初始化请求。 4. **发送请求**:使用send()方法发送请求,对于GET请求,直接发送空...
是核心处理函数,其参数包括`webs_t wp`(Web服务器上下文)、`char_t* urlPrefix`(URL前缀)、`char_t* webDir`(Web目录)、`int arg`(参数个数)、`char_t* url`(完整URL)、`char_t* path`(路径)和`char_t...
- **URL路径和参数**:定义请求的目标地址和携带的数据。 - **请求头设置**:例如Content-Type用于定义数据类型。 - **回调函数**:发送请求后,需要监听状态变化,如onreadystatechange事件,当状态改变时执行相应...