`
huhupure
  • 浏览: 4723 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

在解决AJAX跨域问题时碰到了乱码

阅读更多
因为在一个TOMCAT的http://127.0.0.1:8080端口的一个WEB应用中,需要使用AJAX的方式访问http://127.0.0.1:8989端口下的资源,来动态更新页面上的数据,由于在firefox碰到跨域问题,不得以写了一个servlet 代理,通过代理改变AJAX的URL来获取数据,但返回的中文数据出现了乱码,一时找不到原因,请大家帮着分析一下.
  servlet 中的代码如下:
   public class WmsProxy extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String strUrl = "";
Enumeration param = request.getParameterNames();
while(param.hasMoreElements()){
String pname = param.nextElement().toString();
if(!pname.equalsIgnoreCase("pageNo") ){
strUrl += pname+"="+request.getParameter(pname)+"&";
}
}
if(strUrl.endsWith("&")){
strUrl = strUrl.substring(0,strUrl.lastIndexOf("&"));
}

response.setContentType("text/xml");
ServletOutputStream outputStream = response.getOutputStream();

URL url = new URL("http://127.0.0.1:8989/WMSEgi.egi?" + strUrl);

InputStream in = url.openStream() ;

BufferedReader dr = new BufferedReader(new InputStreamReader(in));

String line;
while ((line = dr.readLine())!=null) {
System.out.println(line) ;
outputStream.print(line);

}
}
}
分享到:
评论
1 楼 huhupure 2008-05-05  
问题已解决:
response.setContentType("text/xml;charset=utf-8");
ServletOutputStream outputStream = response.getOutputStream();
URL url = new URL("http://127.0.0.1:8989/WMSEgi.egi?" + strUrl);
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream(),"UTF-8"));

相关推荐

    java版 解决跨域问题CORS ajax+jsonp例子源代码.zip

    6. "ajax发来的数据,java(servlet)收到的是乱码" - 这可能是一个问题描述,指出在使用AJAX发送数据到Java Servlet时,服务器接收到的数据出现乱码,可能涉及到字符编码的问题,需要正确配置字符集以避免这种情况。...

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

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

    jsp中 ajax的get请求的中文乱码问题的解决方法.docx

    在开发Web应用时,我们经常会遇到中文乱码问题,特别是在使用AJAX进行GET请求时。JSP中的AJAX GET请求的中文乱码问题主要是由于URL编码格式不匹配导致的。以下是一些解决此问题的关键点和步骤: 1. **URL编码格式**...

    ajax的处理中文乱码程序

    本文主要探讨如何解决跨域读取其他网页时出现的中文乱码问题,并提供一种有效的解决方案。 #### 二、问题背景 跨域读取其他网页时出现中文乱码的原因主要与网页编码标准有关。如果目标网页采用的是GB2312编码格式...

    jquery ajax跨域解决方法(json方式)

    本文将针对jquery ajax跨域解决方法进行详细介绍,特别是以JSON方式处理跨域请求。 ### 跨域问题基础 在理解jquery如何处理跨域问题之前,需要明白什么是跨域问题。跨域问题是指当一个Web页面尝试访问另一个域的...

    ajax乱码

    在IT行业中,Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下...在实际开发中,遇到问题时,阅读和理解错误信息,使用浏览器的开发者工具进行调试,以及查阅相关文档,都是解决问题的关键。

    jQuery ajax方法传递中文时出现中文乱码的解决方法

    在使用jQuery的AJAX方法进行数据交互时,有时会遇到中文字符乱码的问题。这是因为浏览器、服务器和前端之间编码不一致导致的。本文将详细解释这个问题,并提供有效的解决方案。 首先,我们要理解AJAX(Asynchronous...

    解决AJAX中跨域访问出现'没有权限'的错误

    综上所述,在进行AJAX跨域请求时,需要根据实际情况选择合适的跨域解决方案,或者采用服务器端代理的方法绕过浏览器安全策略的限制。在实际开发过程中,推荐使用CORS方案,因为它简单且符合现代Web标准。

    ajax提交中文到servlet

    本文将深入探讨“ajax提交中文到servlet”的相关知识点,以解决在异步传输过程中处理中文字符的问题。 一、Ajax基础 Ajax的核心是通过JavaScript创建XMLHttpRequest对象,它允许浏览器在不重新加载整个网页的情况下...

    ajax获取数据中文乱码问题最简单的完美解决方案

    在进行Web开发时,我们经常会遇到Ajax获取数据时出现中文乱码的问题,这通常是由于字符编码不一致导致的。Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许在不刷新整个页面的情况下与...

    Ajax中文问题

    1. **字符编码问题**:Ajax在处理中文数据时,如果服务器和客户端的字符编码不一致,可能会导致乱码。确保服务器返回的数据和前端页面使用相同的字符编码,如UTF-8。 2. **URL编码**:在发送Ajax请求时,如果URL中...

    ajax传输json出错问题

    3. **Content-Type设置**:在发送Ajax请求时,需指定`Content-Type`头来告诉服务器数据的类型。对于JSON数据,应设置为`application/json`。若未正确设置,服务器可能按其他格式解析,从而引发错误。 4. **跨域问题...

    各种版本ajax使用方法及相关问题

    在使用Ajax时,可能会遇到乱码问题。这通常由于服务器返回的字符编码与页面预期的编码不一致。为解决这个问题,可以在接收到响应后设置正确的字符编码,例如: ```javascript xhr.overrideMimeType('text/plain; ...

    Asp中使用JQuery的AJAX提交中文乱码解决方法

    在使用Asp进行Web开发过程中,通过JQuery的AJAX方法提交表单数据时,中文字符很...通过上述方法,我们可以有效地解决在Asp中使用JQuery的AJAX提交中文时出现的乱码问题,并确保Web应用能够稳定、正确地处理中文字符。

    Ajax的编码问题总结(2)

    在处理中文字符时,可能会遇到编码解码问题,如乱码。确保服务器和客户端使用相同的字符编码(如UTF-8)是关键,同时在发送请求和接收响应时正确设置Content-Type头。 3. **错误处理**: 在编写Ajax代码时,必须...

    Ajax+Servlet 实例

    在处理跨域请求时,特别是涉及中文字符时,可能出现乱码问题。为了解决这个问题,我们需要确保在Servlet中正确设置字符编码。 在Servlet中,可以覆盖`doPost`或`doGet`方法,并设置请求和响应的编码: ```java ...

    ajax经典案例(适合初学者参考)

    学习如何使用JSONP、CORS(跨源资源共享)等方法解决跨域问题是Ajax开发中的重要一环。 10. **安全与性能**: - Ajax虽然提高了用户体验,但也需要注意安全问题,比如防止XSS(跨站脚本攻击)和CSRF(跨站请求伪造...

    jquery的ajax例子无错版

    总结来说,这个示例主要展示了如何使用jQuery的AJAX功能进行跨域异步数据交互,同时考虑了字符编码问题,以确保在不同的编码环境下都能正常工作。通过分析提供的文件,我们可以学习到如何配置AJAX请求,处理不同编码...

    Ajax学习文档(无门槛-精)Markdown File (.md)

    Ajax处理字符编码时可能出现乱码,解决方法包括设置响应头的字符集、在JavaScript中处理字符编码,以及确保服务器返回的响应内容和客户端的字符集一致。 ### 4. 同步与异步 - **同步**:请求发送后,浏览器会等待...

    夏玉保整理Ajax学习笔记.doc

    Ajax(Asynchronous JavaScript and XML)是一种在...以上是Ajax学习中的关键点,包括IE缓存处理、中文乱码问题以及跨域访问的解决方案。在实际开发中,理解并掌握这些技巧,能够帮助我们更好地利用Ajax提升用户体验。

Global site tag (gtag.js) - Google Analytics