`
wxq594808632
  • 浏览: 262471 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ajax兼容IE,FF问题

    博客分类:
  • ajax
阅读更多

如题,废话不多说。

JSP页面

hello.jsp

 

<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>AJAX提交页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<script type="text/javascript" src="ajax.js"></script>
   <script type="text/javascript">
   function doso(){
     var url = "actAction.do";
     var s="武晓强斯蒂芬34-*(&_(*!$^_*!&#!^$+!*#&&";
     s=encodeURIComponent(s);      //转换特殊字符
     var parameter ="name="+s+"&email=abc@abc.com&www=http://wxq594808632.blog.163.com/";
     var method = "POST";
     function callBack(text){           //回调函数
      alert("调用成功!\n名字为:"+text);
     }
   new Ajax().ajaxRequest(url,parameter,method,callBack);     //调用方法发送Request
   }
   </script>
</head>
<body>
<input type="button" value="提交" onclick="doso()"/>
   </body>
</html>


 

 

 

java类

ActAction.java

 

package ajaxpost;

import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.Action;
import java.io.UnsupportedEncodingException;
import java.io.IOException;
import java.io.PrintWriter;

public class ActAction extends Action {

    public ActionForward execute(ActionMapping mapping, ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response) throws
            UnsupportedEncodingException {
        //设置字符编码返回的编码
        response.setContentType("text/html;charset=UTF-8");
        //接收字符的编码
        try {
            request.setCharacterEncoding("UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        PrintWriter out = null;
        try {
            out = response.getWriter();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        String name = request.getParameter("name");
        String email = request.getParameter("email");
        String www = request.getParameter("www");
        System.out.println(email);
        System.out.println(name);
        System.out.println(www);
     //   out.print(name+"\n"+email+"\n"+www);
        out.print(name);         //返回值
        return null;
    }
}


 

 

 

 

最重要滴

ajax.js

我用别人的。感谢这位大哥。。

/*
author zhangshuling
email  zhangshuling1214@126.com
*/
function  Ajax(){
    var _xmlHttp = null;
 this.createXMLHttpRequest = function(){
  try{
   if (window.ActiveXObject) {                                                     
    _xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");                                      
   }                                                                               
   else if (window.XMLHttpRequest) {                                                   
    _xmlHttp = new XMLHttpRequest();                                                
   }
  }catch(e){
     alert(e.name +" : " + e.message);
  }
 }
 
 this.backFunction = function(_backFunction){
  if(_xmlHttp.readyState == 4) {
   if(_xmlHttp.status == 200) {
    _backFunction(_xmlHttp.responseText);//这里可以设置返回类型
   }
  }
   _xmlHttp.onreadystatechange = null;
 }

 this.doPost = function(_url,_parameter,_backFunction){
     try{
      _xmlHttp.open("POST",_url, false); 
   _xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   _xmlHttp.send(_parameter); 
   }catch(e){
    alert(e.name +" : " + e.message);
     }
 }
 
 this.doGet = function(_url,_parameter,_backFunction){
    try{
        var _random = Math.round(Math.random()*10000);
        _xmlHttp.open("GET", (_url+"?random=" +_random +"&" + _parameter), false); 
     _xmlHttp.send(null); 
   }catch(e){
      alert(e.name +" : " + e.message);
   }
 }
 
    this.ajaxRequest = function(_url,_parameter,_method,_backFunction){
          try{
            this.createXMLHttpRequest();
         if(_method.toLowerCase() == "post"){
            this.doPost(_url,_parameter,_backFunction);
         }else{
            this.doGet(_url,_parameter,_backFunction);  
         }
         try{
           _xmlHttp.onreadystatechange = this.backFunction(_backFunction);
         }catch(err){
            //??????IE?????????????????
         }
      }catch(e){
      alert(e.name +" : " + e.message);
   }
     }

} 

/*
 var url = "ajax.do";
 var parameter = "parameter=parameter";
 var method = "post" 
 
 function callBack(text){
  ....
 }
 
 new Ajax().ajaxRequest(url,parameter,method,callBack);

*/


 

经过本人FF,IE6,IE7,测试。完全好用

 

分享到:
评论
4 楼 wxq594808632 2011-05-11  
haohao-xuexi02 写道
我问下,你现在还在维护这个程序吗?ie8是有问题?

两年多了。现在都用jquery了。我之后就没有做web方向了
3 楼 haohao-xuexi02 2011-05-10  
我问下,你现在还在维护这个程序吗?ie8是有问题?
2 楼 wxq594808632 2009-05-10  
wh8766 写道

话说..博主能再排版下么 代码这直接贴的 啥都看不到了



我导入rss的时候就是这样。。吓人。。管理员也没解决
1 楼 wh8766 2009-05-03  
话说..博主能再排版下么 代码这直接贴的 啥都看不到了

相关推荐

    兼容IE FF 省级三级联动

    在网页开发中,"兼容IE FF 省级三级联动"是一个常见的需求,涉及到前端界面交互和浏览器兼容性处理。这个需求通常出现在构建一个选择地址的下拉菜单时,用户首先选择省份,接着是城市,最后是区县,这三个级别形成一...

    ajax简易模型 兼容多个浏览器(ff ie ...) get post请求

    ajax简易模型 兼容多个浏览器(ff ie ...) get post请求

    兼容ie6/ie7/ie8/ff 省市县的js

    标题“兼容ie6/ie7/ie8/ff 省市县的js”指的是一个JavaScript插件或库,其主要目的是解决浏览器兼容性问题,特别是针对较老版本的Internet Explorer(IE6、IE7、IE8)以及Firefox(FF)。这个选择器功能允许用户在...

    [php]ifame仿ajax图片上传预览,兼容IE\FF\Chrome

    本项目 "[php]ifame仿ajax图片上传预览,兼容IE\FF\Chrome" 提供了一种利用iframe技术实现跨浏览器兼容的图片上传预览方案。以下是关于这个项目的一些关键知识点和详细说明: 1. **Iframe(内联框架)**:Iframe是一...

    java跨全域兼容ie/ff/chrome浏览器多文件上传(原创)

    本示例通过"java跨全域兼容ie/ff/chrome浏览器多文件上传(原创)"的标题,我们可以看出这是一个解决浏览器兼容性问题并实现跨域文件上传的解决方案。下面将详细解释这个主题涉及的关键知识点。 1. **跨域资源共享 ...

    基于Jquery可居中显示并兼容IE6+/FF等浏览器的瀑布流程序(jquery.easing.js,jquery.vgrid.js实现)

    在本项目中,通过结合Jquery库和两个特定的插件——jquery.easing.js与jquery.vgrid.js,实现了这种布局,并且确保了在包括IE6+以及Firefox在内的多种浏览器中的兼容性。 1. Jquery:Jquery是一个广泛使用的...

    IE_FF兼容性

    本文将针对Internet Explorer(以下简称IE)与Mozilla Firefox(以下简称FF)这两种浏览器之间的兼容性差异进行详细讲解,并通过具体示例来分析这些差异。 #### 1. document.all()与document.getElementById() - *...

    下拉框可输入+自动提示+支持键盘事件兼容IE,FF

    标题 "下拉框可输入+自动提示+支持键盘事件兼容IE,FF" 指的是一种前端开发技术,用于创建具有智能搜索和自动提示功能的下拉选择框。这种技术通常应用于网页表单中,提高用户输入数据的效率和体验。在描述中提到的 ...

    一个图片居中的CSS示例,兼容IE6,7,8和FF,opera,safari

    在网页设计中,让图片居中是一项常见的需求,尤其考虑到浏览器的兼容性问题,因为不同的浏览器可能对CSS的解析方式存在差异。这个示例提供的是一种跨浏览器的解决方案,旨在确保图片在IE6、IE7、IE8以及Firefox、...

    ajax模仿google提示输入框(兼容ff)

    2.兼容IE6,IE7,FF 3.支持input显示与value分离【以隐藏域方式提交数据】 4.支持下拉框按钮 5.支持显示结果数量 6.可以一个页面多次使用 7.模拟下拉框不会被select遮挡 8.调用更方便(内核已改为jq插件) 9.皮肤修改...

    Autocomplete(自动完成 下拉提示框Ajax+ASP.NET+Jquery)(IE、FF兼容)

    同时,为了确保在不同的浏览器上表现一致,我们需要考虑浏览器兼容性问题,比如IE和Firefox对某些CSS属性或DOM操作的支持差异。 具体实现步骤如下: 1. 创建ASP.NET Web服务,定义一个方法来处理Ajax请求,该方法...

    图片预览(兼容FF,IE7)

    标题中的“图片预览(兼容FF,IE7)”指的是创建了一个功能,允许用户在浏览器上预览图片,这个功能同时支持Firefox(FF)和Internet Explorer 7(IE7)这两种浏览器。在早期的Web开发中,由于不同浏览器对某些技术的...

    jquery实现区块或链接横向无缝循环滚动,自适应宽度,可随意设置外容器的宽度。高度自适应,兼容IE,FF,CHROME.zip

    高度自适应,兼容IE,FF,CHROME”是一个jQuery插件或脚本的描述,它主要用于网页中创建一个功能强大的横幅滚动效果。这个效果允许网页上的区块或链接在水平方向上进行无缝循环滚动,同时具备自适应宽度和高度的能力...

    IE、火狐兼容性问题

    // 兼容IE if (document.all && input.type === 'file') { value = input.value.replace(/.*\\/, ''); } return value; } ``` #### 三、总结 在实际的Web开发过程中,由于浏览器的不同版本之间存在的差异,...

    jquery实现区块或链接横向无缝循环滚动,自适应宽度,可随意设置外容器的宽度 高度自适应,兼容IE,FF,CHROME.rar

    标题中的“jquery实现区块或链接横向无缝循环滚动,自适应宽度,可随意设置外容器的宽度,高度自适应,兼容IE,FF,CHROME”是一个jQuery插件或脚本的功能描述,它涉及到网页中元素的动态展示效果。下面将详细解释这...

    Ajax uri 乱码问题总结

    - 为了同时兼容IE和FF,可以在服务器端配置为支持两种编码。一种方法是在服务器端自动检测请求头中的`Accept-Encoding`字段,以确定浏览器的偏好。另一种方法是通过JavaScript检测用户使用的浏览器类型,并根据其...

    模仿google下拉提示框输入框 Ajax 兼容火狐

    2.兼容IE6,IE7,FF 3.支持input显示与value分离【以隐藏域方式提交数据】 4.支持下拉框按钮 5.支持显示结果数量 6.可以一个页面多次使用 7.模拟下拉框不会被select遮挡 8.调用更方便(内核已改为jq插件) 9.皮肤修改...

    JQuery IFrame框架高度自适应(支持嵌套–兼容IE,ff,safafi,chrome)

    在实际应用中,我们还需要考虑一些边缘情况,例如iframe内容未加载完成时的处理、跨域问题以及可能存在的延迟加载(如使用Ajax加载内容)。开发者可能需要添加额外的逻辑来处理这些情况,例如设置初始高度、添加错误...

Global site tag (gtag.js) - Google Analytics