关于IE浏览器不支持jQuery-ajax传值的问题

在jQuery中ajax的格式如下所示:

<!DOCTYPE HTML>
<html>
<head><script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script><script type="text/javascript">$(function(){//按钮单击时执行$("#testAjax").click(function(){//Ajax调用处理$.ajax({type: "POST",url: "test.php",data: "name=garfield&age=18",success: function(data){$("#myDiv").html('<h2>'+data+'</h2>');}});});});</script>  
</head>
<body><div id="myDiv"><h2>通过 AJAX 改变文本</h2></div><button id="testAjax" type="button">Ajax改变内容</button>
</body>
</html>

        在使用jQuery的AJAX:get方法去检测数据是否存在时,会发现IE会出现不兼容的情况。
        用AJAX:post方法时,使用Chrome/FireFox/IE均能出现正确的结果,但是在使用AJAX:get方法时,IE却不能返回正确的结果。
        难道是数据超出了get方法的限制的长度,这个也不可能,我总共才传了一点点数据。排除。
        网上一些网友说是IE缓存的问题,在请求数据后边加上随机数就行,比如加上时间数new Date().getTime()。
        先前的代码中我已经添加了随机数,用的是“Math.random()”也不行。难道用时间比较靠谱?
        那就改成获取时间试试,在参数后加“new Date().getTime()”后反复测试还是不行,真是百思不得其解!这个错误也排除了。
        反复查看手册后发现请求的数据格式还是有一种JSON格式,如{foo:[“bar1”, “bar2”]} ,然后就按照这种格式书写,还真的返回了正确的查询结果。真不知道IE还有这点要求。

先前的格式:

type: "get",
data: "bid="+my_bid+"&name_cn="+name_cn+"&timeStamp="+new Date().getTime(),

改进后格式:

type: "get",
data: {'bid':my_bid,'name_cn':name_cn,'timeStamp':new Date().getTime()},

在jQuery手册中是这样描述的:
data Object,String
        发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。
        查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。
     如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:[“bar1”, “bar2”]} 转换为 “&foo=bar1&foo=bar2”。

代码片段:

var siteUrl="http://blog.sina.com.cn/cnwyt"; 
jQuery.ajax({type: "get",url: siteUrl+"cosmetics/product/ajax_check?",//data: "bid="+my_bid+"&name_cn="+name_cn+"&timeStamp=" + new Date().getTime(),data: {'bid':my_bid,'name_cn':name_cn,'timeStamp':new Date().getTime()},dataType: 'json',error: function (err) {alert('网络故障,请与管理员联系!') },success: function (message) {if(message!=false){//ture的代码}else{//false的代码}
});

附:支持IE8的jQuery-ajax的写法

 $.ajax({url: 'xianshi.php',type: 'get',dataType: 'json',data:{name:"hah",age:"14"}success: function (result) {var json = eval (result);// alert(json.length);var i=0;for(i;i<json.length;i++){//alert(result[0]);var app=document.createElement("li");app.innerHTML=json[i];var father=document.getElementById("con1");father.appendChild(app);}}
});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569921.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win10 无法连接路由器共享设备 报错0X80004005

用路由器挂了个硬盘&#xff0c;win10无法用文件夹访问&#xff0c;试了各种方法都没用&#xff0c;后来才发现是windows的‘SMB 1.0/CIFS 文件共享支持’未开启&#xff0c;启用后重启电脑就可以了。 具体步骤&#xff1a; 控制面板 - 程序和功能 - 启用或关闭Windows功能 打勾…

PhpWord的autoload.php文件及目录的生成方式

在github上下载的压缩版PhpWord类库&#xff0c;bootstrap需要用到wendor下的autoload.php&#xff0c;但发现目录里面没有该文件。百度一下&#xff0c;发现需要通过composer进行生成该目录及文件。 1、安装composer 我是在windows系统下办公的&#xff0c;所以直接下载comp…

新版的sublime text 3无法设为默认启动程序

安装上新版的sublime text 3之后&#xff0c;打算设为.html .css .js等文件的默认启动程序&#xff0c;却发现无法设置成功&#xff0c;于是百度上搜索了一下&#xff0c;发现很多都是去注册表修改配置。却始终不能如愿。 有的解决方法是&#xff1a;删除 HKEY_CURRENT…

django的基本操作流程

pip install django cd Desktop/课上代码02/ #进入到创建项目的目录 django-admin startproject 项目的名称 #创建项目 __init__.py 声明这是一个包 settings.py 项目的配置文件 urls.py 项目中url的路由 wsgi.py 部署的时候wsgi服务器的配置文件 manage.py管理django的项…

MySQL_日期时间处理函数及应用

一、YEAR()、MONTH()、HOUR() 1、 语法 YEAR(DATE)   返回日期的年份。 MONTH(DATE)   返回日期的月份 DAY(DATE)   返回日期的日 HOUR(time)   返回时间的小时。 对于一天时间值&#xff0c;返回值的范围是0到23。 但是&#xff0c;TIME值的范围实际上要大得…

关于ajax请求后台获取下拉列表用的数据

一、效果展示 有时候需要在页面请求后台获取数据&#xff1a;这里就用到了ajax去后台获取数据&#xff1a; 数据库的数据是这样的&#xff1a; mysql> select * from ocenter_travel_class_info where pid 0; -------------------------------------- | id | pid | c…

iOS - 抖音效果

抖音的转场动画—iOS https://www.jianshu.com/p/29b0165de712 抖音的上下滑实现—iOS https://www.jianshu.com/p/e8799510c7aa转载于:https://www.cnblogs.com/qingzZ/p/10281740.html

jSignature网页手写签名

一、效果图 注意&#xff1a;1、CSS样式自己调&#xff0c;这里写的很简陋。      2、单击下载&#xff0c;并不是下载图片&#xff0c;而是保存到后台。      3、注意js的引用。 二、前端 <!DOCTYPE html> <html lang"zh-CN"> <head>…

MySQL高级特性之分区表

对于用户而言&#xff0c;分区表是一个独立的逻辑表&#xff0c;但是在底层由多个物理子表组成。实现分区的代码实际上是对一组底层表的句柄对象的封装&#xff0c;对分区表的请求都会通过句柄对象转化成对存储引擎的接口调用 意义 MySQL在创建表的时候可以通过使用 PARTITION …

关于纯HTML格式写入word

用mht格式生成的word文档不适合批量导出&#xff0c;用纯HTML生成的word文件可以批量导出。我不适用框架直接用localhost本地执行PHP文件的格式如下&#xff1a; <?php header("content-type:text/html;charsetutf-8"); class word{function start(){ob_start()…

判断radio单选按钮是否选中

使用jquery进行判断radio单选是否选中并获取选中的value值。 直接上代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Document</title><script src"https://apps.bdim…

postman上传图片时已经添加cookie,但仍显示未登陆

postman上传图片时&#xff0c;已经添加过cookie&#xff0c;但是返回的结果是用户未登陆&#xff0c;如下图所示&#xff1a; 我的解决办法是&#xff1a;清楚cookie code中的cookie 最终的结果如下&#xff1a;成功 转载于:https://www.cnblogs.com/1510152012huang/p/102825…

关于Oracle数据库导入数据显示中文乱码

一、遇到的问题 问题一&#xff1a;某xxxx.sql文件&#xff0c;里面都是insert语句&#xff0c;并且文本编辑器打开文件查看&#xff0c;里面待插入的中文数据显示正常&#xff0c;但是通过命令行&#xff0c;使用“xxxx.sql”导入数据库后&#xff0c;发现数据库中的中文数据都…

五大主流浏览器及内核

谷歌浏览器&#xff1a;Google Chrome内核&#xff1a;Webkit/blink火狐浏览器&#xff1a;Mozilla Firefox内核&#xff1a;Gecko欧鹏浏览器&#xff1a;opera内核&#xff1a;blink苹果浏览器&#xff1a;Safari内核&#xff1a;WebkitI E 浏 览 器&#xff1a;Windows Inter…

MySQL日期与时间函数

MySQL日期与时间函数 MySQL服务器中的三种时区设置&#xff1a;   ①系统时区—保存在系统变量system_time_zone   ②服务器时区—保存在全局系统变量global.time_zone   ③每个客户端连接的时区—保存在会话变量session.time_zone 注意&#xff1a;   客户端时区…

Docker:单机编排工具docker-compose [十二]

一、docker-compose的安装 1、安装 curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum install -y python2-pip pip install -i https://pypi.tuna.tsinghua.edu.cn/simple docker-compose2、检查是否安装成功 docker-compose -v 二、docke…

MySQL之算术表达式、聚合函数及GROUP BY 与 HANVING 等函数的应用

一、MySQL的算术表达式 算术表达式就是加减乘除的运算过程&#xff0c;主要是对一条数据中出现的数字进行统计和运算。 首先&#xff0c;有一张数据表&#xff0c;如下&#xff1a; mysql> select * from test_score; ------------------------------------------ | id | c…

B1023 组个最小数 (20分)

B1023 组个最小数 &#xff08;20分&#xff09; 给定数字 0-9各若干个。你可以以任意顺序排列这些数字&#xff0c;但必须全部使用。目标是使得最后得到的数尽可能小&#xff08;注意 0 不能做首位&#xff09;。例如&#xff1a;给定两个 0&#xff0c;两个 1&#xff0c;三个…

关于PHP下载文件功能中header()书写方式

一、下载所用header头 header ( "Cache-Control: max-age0" ); header ( "Content-Description: File Transfer" ); header ( Content-disposition: attachment; filename.basename($new_file)); //文件名 header ( "Content-Type: application/png&…

namespace命名空间的使用

一、何为命名空间 PHP 命名空间(namespace)是在PHP 5.3中加入的。“什么是命名空间&#xff1f;从广义上来说&#xff0c;命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如&#xff0c;在操作系统中目录用来将相关文件分组&#xff0c;对于目录中的文件…