Jquery ajax传递xml方式在ie8下兼容问题

要写的东西是一个工作日志页面,要求不能分页,一天写入一条数据。考虑到服务器的性能问题,使用一次性全从数据库中读出数据在方法,如果时间长了,页面在加载的时候会很慢,而且会造成浪费。所以我采用ajax技术,一次读3条数据,随着滚动条滑动加载。这样就能很好的降低服务器的压力,虽然项目不大。

项目提交的时候才发现,我写的工作日志页面居然在ie8下不能正常显示。按理来说,Jquery应该已经帮我解决了ajax创建xmlDOM时的兼容性的问题,仔细排查了以后发现是ie8对xml解析的问题。

找了资料后解决办法如下:

$.ajax({
   type:’GET’,
     url:’list.php?pagenow=’+count,
     data:’xml’,//可以留空,但千万别写text或者html
   error:function(xml){

         //这里是错误代码
        $(“#news”).html(“there is something worong with your xml”);
    },
   success:function(data){

     //成功代码
      var xml;
      var browser=navigator.appName;
      var b_version=navigator.appVersion;
      var version=parseFloat(b_version);

    //判断浏览器版本是不是ie8以下

      if ( browser==”Microsoft Internet Explorer” && version<=4) {
        xml = new ActiveXObject(“Microsoft.XMLDOM”);
        xml.async = false;
        xml.loadXML(data);
      }else{ xml =data; }

      //下面的代码,该怎么写就怎么写

  }
});

主要问题就是ie8把xml格式在打开的时候转换成了string,我们只用把其转换回xml就可以了。

时间: 2024-10-21 03:59:21

Jquery ajax传递xml方式在ie8下兼容问题的相关文章

jQuery Ajax url使用方式

jQuery Ajax的使用场景: 页面需要通过后台逻辑,但只需要局部刷新以显示新的内容. jQuery Ajax url使用方式1.servlet方式: 需要在struts.xml中写一个action,跳转地址写servlet; 需要重写init方法(为了使用spring注入的bean); 设置响应编码response.setContentType("text/html; charset=UTF-8"); 使用request.getParameter()接收参数; 使用respons

jQuery ajax 动态append创建表格出现不兼容ie8

很多情况下,通过js(jQuery1.10)动态来创建一些样式,对页面的动态交互来说是很方便的 但是不同的浏览器针对动态生成的不是很兼容,在此遇见的不兼容ie8,跟各位分享下 代码: json数据 data.json [{"name":"ajax","job":"manong"},{"name":"js","job":"diaosi"}] html

jquery ajax传递数组给php

写成:var data = {'item[]':item}; $.post(url,data,function(return_data) 写成item:item会导致数据缺失. 更多:http://www.cnblogs.com/ini_always/archive/2011/12/17/2291290.html jquery ajax传递数组给php,布布扣,bubuko.com

jQuery ajax传递特殊字符串问题

当你用ajax传递值到服务器端,如果值中包含特殊字符串如+,&等,在服务器端获取的结果可能就会出现差异,因为这些字符有其它用途,如“+”表示连接符,在转义后你获取到的就是空格.可以看看这些特殊字符与十六进制的关系: + 空格 / ? % & = # %2B %20 %2F %3F %25 %26 &3D %23 如果变量中确实需要包含这些特殊字符,请用encodeURIComponent()函数过滤,它会对这些字符编码,服务器端是会被自动解码的,不需要处理.另外,尽量提交json格

ASP.NET jquery ajax传递参数

第一种:GET传递 前台 ajax   GET 传递 :即在请求的地址后面加上参数,URL地址长度有显示,安全性低 后台接收:Request.QueryString[“参数名字”]! 例如: function LoadBar(id) { var project = id; var month = $("#txtMonth").val(); $.ajax({ type: "GET", async: false, url: 'GetProjectScore.aspx?p

jQuery ajax 传递JSON数组到Spring Controller

jQuery ajax传递单个JSON对象到后台很容易,这里记录的是传递多个JSON对象组成的JSON数组到java 后台,并说明java如何解析JSON数组. 1.js代码 var relationArrays=new Array();  //获取所有组的人员信息grid数据  var allGrid= $(".userGrid");  for(var i=0;i<allGrid.length;i++){    var rows=$(allGrid[i]).datagrid(&

mvc jquery ajax传递数组null问题

mvc jquery ajax传递数,  areaIds是个int数组.后台action用list<int>接收.当我想传空值时,先用null传递,结果action收到的AreaIds竟然含有一个元素0,非常诡异,有空再查找具体原来.后来想传空时不再用Null,改成[],这样就ok了.很奇怪 function refreshStoreHouseDatas(marketId,areaIds,selectedValues) { var data = { marketId: marketId, ar

JQuery中$.ajax()方法参数详解 ASP.NET jquery ajax传递参数

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

jQuery ajax传递特殊字符参数(例如+)

使用jQuery ajax向后台传递参数para=1+1时后台接收到的参数为para=1 1,解决方案是 使用json传递,代码如下. var url = "/test/check"; $.ajax({ type: "post", url: url, // data: "para=1+1", data为字符串时 后台接收到的参数为 1 1 data: {"para":1+1}, // data为json数据时 后台接收到的参数