关于jqueryajax请求的信息

jq的ajax请求写法

1、定义和用法

创新互联建站主要从事网站设计制作、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务景洪,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

ajax() 方法通过 HTTP 请求加载远程数据。

该方法是 jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。

最简单的情况下,$.ajax() 可以不带任何参数直接使用。

2、语法

jQuery.ajax([settings])

setting参数:

options

类型:Object

可选。AJAX 请求设置。所有选项都是可选的。

async

类型:Boolean

默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。

注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

beforeSend(XHR)

类型:Function

发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。

XMLHttpRequest 对象是唯一的参数。

这是一个 Ajax 事件。如果返回 false 可以取消本次 ajax 请求。

cache

类型:Boolean

默认值: true,dataType 为 script 和 jsonp 时默认为 false。设置为 false 将不缓存此页面。

jQuery 1.2 新功能。

complete(XHR, TS)

类型:Function

请求完成后回调函数 (请求成功或失败之后均调用)。

参数: XMLHttpRequest 对象和一个描述请求类型的字符串。

这是一个 Ajax 事件。

contentType

类型:String

默认值: "application/x-www-form-urlencoded"。发送信息至服务器时内容编码类型。

默认值适合大多数情况。如果你明确地传递了一个 content-type 给 $.ajax() 那么它必定会发送给服务器(即使没有数据要发送)。

context

类型:Object

这个对象用于设置 Ajax 相关回调函数的上下文。也就是说,让回调函数内 this 指向这个对象(如果不设定这个参数,那么 this 就指向调用本次 AJAX 请求时传递的 options 参数)。比如指定一个 DOM 元素作为 context 参数,这样就设置了 success 回调函数的上下文为这个 DOM 元素。

就像这样:

$.ajax({ url: "test.html", context: document.body, success: function(){

$(this).addClass("done");

}});

data

类型:String

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

dataFilter

类型:Function

给 Ajax 返回的原始数据的进行预处理的函数。提供 data 和 type 两个参数:data 是 Ajax 返回的原始数据,type 是调用 jQuery.ajax 时提供的 dataType 参数。函数返回的值将由 jQuery 进一步处理。

dataType

类型:String

预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如 XML MIME 类型就被识别为 XML。在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值:

"xml": 返回 XML 文档,可用 jQuery 处理。

"html": 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。

"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 "cache" 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)

"json": 返回 JSON 数据 。

"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。

"text": 返回纯文本字符串

error

类型:Function

默认值: 自动判断 (xml 或 html)。请求失败时调用此函数。

有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。

如果发生了错误,错误信息(第二个参数)除了得到 null 之外,还可能是 "timeout", "error", "notmodified" 和 "parsererror"。

这是一个 Ajax 事件。

global

类型:Boolean

是否触发全局 AJAX 事件。默认值: true。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 可用于控制不同的 Ajax 事件。

ifModified

类型:Boolean

仅在服务器数据改变时获取新数据。默认值: false。使用 HTTP 包 Last-Modified 头信息判断。在 jQuery 1.4 中,它也会检查服务器指定的 'etag' 来确定数据没有被修改过。

jsonp

类型:String

在一个 jsonp 请求中重写回调函数的名字。这个值用来替代在 "callback=?" 这种 GET 或 POST 请求中 URL 参数里的 "callback" 部分,比如 {jsonp:'onJsonPLoad'} 会导致将 "onJsonPLoad=?" 传给服务器。

jsonpCallback

类型:String

为 jsonp 请求指定一个回调函数名。这个值将用来取代 jQuery 自动生成的随机函数名。这主要用来让 jQuery 生成度独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。你也可以在想让浏览器缓存 GET 请求的时候,指定这个回调函数名。

password

类型:String

用于响应 HTTP 访问认证请求的密码

processData

类型:Boolean

默认值: true。默认情况下,通过data选项传递进来的数据,如果是一个对象(技术上讲只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。

scriptCharset

类型:String

只有当请求时 dataType 为 "jsonp" 或 "script",并且 type 是 "GET" 才会用于强制修改 charset。通常只在本地和远程的内容编码不同时使用。

success

类型:Function

请求成功后的回调函数。

参数:由服务器返回,并根据 dataType 参数进行处理后的数据;描述状态的字符串。

这是一个 Ajax 事件。

traditional

类型:Boolean

如果你想要用传统的方式来序列化数据,那么就设置为 true。请参考工具分类下面的 jQuery.param 方法。

timeout

类型:Number

设置请求超时时间(毫秒)。此设置将覆盖全局设置。

type

类型:String

默认值: "GET")。请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。

url

类型:String

默认值: 当前页地址。发送请求的地址。

username

类型:String

用于响应 HTTP 访问认证请求的用户名。

xhr

类型:Function

需要返回一个 XMLHttpRequest 对象。默认在 IE 下是 ActiveXObject 而其他情况下是 XMLHttpRequest 。用于重写或者提供一个增强的 XMLHttpRequest 对象。这个参数在 jQuery 1.3 以前不可用。

回调函数

如果要处理 $.ajax() 得到的数据,则需要使用回调函数:beforeSend、error、dataFilter、success、complete。

beforeSend

在发送请求之前调用,并且传入一个 XMLHttpRequest 作为参数。

error

在请求出错时调用。传入 XMLHttpRequest 对象,描述错误类型的字符串以及一个异常对象(如果有的话)

dataFilter

在请求成功之后调用。传入返回的数据以及 "dataType" 参数的值。并且必须返回新的数据(可能是处理过的)传递给 success 回调函数。

success

当请求之后调用。传入返回后的数据,以及包含成功代码的字符串。

complete

当请求完成之后调用这个函数,无论成功或失败。传入 XMLHttpRequest 对象,以及一个包含成功或错误代码的字符串。

jquery中ajax请求 异步转化成同步怎么实现

你好,jquery中ajax默认是异步,即async=true。如果要转变成同步,则async=false即可。具体如下操作:

jQuery.ajax({

type: "post",

url: url,

cache: false,

async: false,

contenttype: "text/html;charset=gbk",

success: function(data){

if(data=='1'){

same=true;

}

}

});

如果满意,望采纳,谢谢!

如何用jqueryajax请求form表单

第一步:引用js

!--这里的min是自己用js压缩工具对完整版进行的压缩

并不是真正的min,所以好使--

script type="text/javascript" src="js/jquery-1.7.min.js"/script

script type="text/javascript" src="js/jquery.form.js"/script

第二步:页面写form

form id="showDataForm" 

action="/024pm/f_shopUser.do?method=login" method="post"

input type="text" value="" name="name" maxlength="2"/

input type="password" value="" name="password" maxlength="2"/

input type="submit" value="提交"/

/form

div id="output1" 

style="width:1000px;height:200px;"

/div

第三步:写js调用jquery.form.js,对form表单进行ajax提交

$(document).ready(function() {

var options = {

target: '#output1',

// 从服务传过来的数据显示在这个div内部

也就是ajax局部刷新

beforeSubmit: showRequest,

// ajax提交之前的处理

success:  showResponse

// 处理之后的处理

};

$('#showDataForm').submit(function() {

$(this).ajaxSubmit(options);

return false; 

//非常重要,如果是false,则表明是不跳转

//在本页上处理,也就是ajax,如果是非false,则传统的form跳转。

});

});

function showResponse(responseText, statusText, xhr, $form) {

alert(xhr.responseText+"=="+$form.attr("method")+'status: ' + 

statusText + '\n\nresponseText: \n' + responseText);

//xhr:说明你可以用ajax来自己再次发出请求

//$form:是那个form对象,是一个jquery对象

//statusText:状态,成功则为success

//responseText,服务器返回的是字符串(当然包括html,不包括json)

}

function showRequest(formData, jqForm, options) {

//formData是数组,就是各个input的键值map数组

//通过这个方法来进行处理出来拼凑出来字符串。

//formData:拼凑出来的form字符串,比如name=herapassword,

//其实就是各个表单中的input的键值对,

//如果加上method=XXXX,那也就是相当于ajax内的data。

var queryString = $.param(formData);

alert(queryString+"======"+formData.length);

for (var i=0; i  formData.length; i++) {

alert(formData[i].value+"==============="+formData[i].name);

}

//jqForm,jquery form对象

var formElement = jqForm[0];

alert($(formElement).attr("method"));

alert($(jqForm[0].name).attr("maxlength"));

//非常重要,返回true则说明在提交ajax之前你验证

//成功,则提交ajax form

//如果验证不成功,则返回非true,不提交

return true;

}

options对象内的值有哪些?

var options = {

target: '#output1', 

data:{param1:"我自己的第一个额外的参数"},

//这个参数是指通过ajax来给服务器提交除了form内部input的参数

//在后台中使用String param1=req.getParameter("param1");获取。

// dataType: null,

dataType:'json',

//这个参数值的是服务器返回的数据类型,默认的是null

//也就是服务器可以默认返回字符串,然后将这些字符串放在target内部

//当然还有json、xml,其中最常用的便是null和json

//对于span style="color: #333333;"a href="" target="_blank"span style="color: #333333;"json/span/a/span的使用,我们会稍后讲解到

beforeSubmit: showRequest,

success:  successRes,

type:'POST'

//提交方式,默认是自己在form标签上指定的method

//如果没有指定,则使用get。

url:''

//重新提交的url,即url可以在form中配置

//也可以在这里配置。

};


分享题目:关于jqueryajax请求的信息
文章网址:http://csdahua.cn/article/dsidjpd.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流