在jquery的ajax中添加自定义的header信息

 转自网络 1  $.ajax({
 2                 type: "POST",
 3                 url: "http://192.168.0.88/action.cgi?ActionID=WEB_RequestCertificateAPI",
 4                 data: {
 5                     "user": "api",
 6                     "password": "api"
 7                 },
 8                 dataType: "json",
 9                 ContentType: "application/json",
10                 beforeSend: function (XMLHttpRequest) {
11                     //HttpUtility.UrlEncode
12                     var sessionid = "SessionID";
13                     XMLHttpRequest.setRequestHeader(sessionid, sid);
14                 },
15                 success: function (SessionID) {
16                     //alert(SessionID.success);
17                     var dt = eval("(" + SessionID.data + ")");
18                     if (SessionID.success == 1) {
19                         alert("success");
20                     }
21                     else {
22                         alert(‘errorId:‘ + SessionID.error.id);
23                         alert(‘errorCode:‘ + SessionID.error.code);
24                         alert(‘errorPara:‘ + SessionID.error.params);
25                     }
26                 }
27             });因为种种原因,自己的框架中要传系统约定好的header信息,页面使用的jquery的ajax请求,找了好久,突然发现我们可以在beforeSend方法中设置,这个方法接受一个参数,就代表了发起异步请求的XMLHttpRequest对象,我们可以用该对象的setRequestHeader方法实现我们的目的,比如,我在header中加一个自定义的dataType头信息:beforeSend: function(XMLHttpRequest) {         XMLHttpRequest.setRequestHeader("dataType","abc");          $(".return_confrim").html("<img src=‘jquery/images/loading.gif‘/>&nbsp;&nbsp;&nbsp;&nbsp;正在验证账户...");},这样,我们在服务器端可以得到自定义中的dataType信息。
时间: 2024-11-09 20:06:45

在jquery的ajax中添加自定义的header信息的相关文章

jquery的AJAX中各个事件执行顺序

jquery的AJAX中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事件) 6.error 7.ajaxError (全局事件) 8.complete 9.ajaxComplete(全局事件) 10.ajaxStop(全局事件)

jQuery的ajax中return语句无法返回值

今天在做一个新需求的时候,用到jQuery的ajax来返回一个查询结果: 但是调用这个方法的时候,data有数据,调用的地方获取到的却一直都是undefined,在网上搜索了一些资料,找到了问题所在,解决方法如下: 1:属性中需要增加async:false; 2:在ajax之前声明一个变量,在success中,将data赋值给这个变量,并在ajax之后,return这个变量; 因为如果是异步执行的话,也许查询结果还没有返回来,js这边就把data返回回去了,但是只添加async:false属性却

Jquery的Ajax中get和post方法的不常见问题

今天遇到一个很奇怪的现象,后来发现原来是Ajax的get方式,加载一次之后,就不在访问数据库,而post方式每次都会访问一次数据库 案例需求,在点击"项目信息列表"的记录行时,联动加载"项目接口信息列表" $(#projectGrid#).datagrid({    onClickRow:function(rowIndex,rowData){           var url = ROOT_PATH + "/projectInterface/queryP

jquery用Ajax中的回调函数时注意事项

前端代码 <script language="javascript" type="text/javascript" src="<?php echo base_url();?>/js/jquery-1.7.2.min.js"></script> <script> function add_ip(bip,eip,area_id) { var action = "<?php echo si

Jquery的Ajax中contentType和dataType的区别

上代码 $.ajax({ type: httpMethod, cache:false, async:false, contentType: "application/json; charset=utf-8", dataType: "json",//返回值类型 url: path+url, data:jsonData, success: function(data){ var resultData = '返回码='+data.status+',响应结果='+data.

jquery Ajax中的dataType简析

jquery中的ajax有好几种运用方式,但是基本上都是使用的$.ajax()方法,很多人经常会使用它来从后台获取json格式的数据,但是经常发现返回的json字符串并不能自动的转换成js里的json对象. 为什么呢?主要是因为$.ajax()方法的参数没有正确的设置, 其中我们需要重点关注的是dataType参数,这个配置决定了jquery如何帮助我们自动解析服务器返回的数据,有几种方式可以获取后台返回的json字符串并解析为json对象,下面是asp.net为例解释: 1.$.ajax()参

jQuery.ajax中success 和complete 区别

$.ajax({      type: "post",      url: url,      dataType:'html',      success: function(data) { },     complete: function(XMLHttpRequest, textStatus) { },     error: function(){}}); success : 当请求成功时调用的函数.这个函数会得到一个参数:从服务器返回的数据.当请求成功时调用函数,即status=

Jquery在unload中成功调用Jquery的.ajax方法

因为页面要求,需要在页面跳转的时候做一些数据的保存工作,试了很多次,发现Jquery的unload事件中调用.ajax方法,在FireFox中可以顺利执行,但是在Chromium下却返回了textStatus为error的消息.试验过很多方法,例如在页面离开时弹出确认框,这样虽然返回了error消息,但是数据库显示操作执行完毕.将确认框除去后,数据库依然没有响应. 查阅多方资料后,发现是以为.ajax的异步响应问题,把ajax请求改为同步的,问题解决. 代码如下: 1 $(window).unl

jQuery源码分析系列(33) : AJAX中的前置过滤器和请求分发器

jQuery1.5以后,AJAX模块提供了三个新的方法用于管理.扩展AJAX请求,分别是: 1.前置过滤器 jQuery. ajaxPrefilter 2.请求分发器 jQuery. ajaxTransport, 3.类型转换器 ajaxConvert 源码结构: jQuery.extend({ /** * 前置过滤器 * @type {[type]} */ ajaxPrefilter: addToPrefiltersOrTransports(prefilters), /** * 请求分发器 *