jQuery使用ajax_重力节点Java大学收拾_jquery_脚本之家金沙网址

用JavaScript写AJAX前边早就介绍过了,首要难点即便分裂浏览器须要写分化代码,而且状态和错误管理写起来很麻烦。

用jQuery的相干对象来拍卖AJAX,不但无需考虑浏览器难点,代码也能大大简化。

ajax

jQuery在全局对象jQuery(也就是$)绑定了ajax()函数,能够拍卖AJAX伏乞。ajax函数须要摄取多个UXC60L和一个可选的settings指标,常用的选项如下:

async:是或不是异步试行AJAX必要,默以为jQuery使用ajax_重力节点Java大学收拾_jquery_脚本之家金沙网址。true,千万不要钦点为false;method:发送的Method,缺省为‘GET’,可钦赐为‘POST’、’PUT’等;contentType:发送POST央求的格式,暗许值为’application/x-www-form-urlencoded;
charset=UTF-8’,也得以内定为text/plain、application/json;data:发送的数目,能够是字符串、数组或object。如若是GET必要,data将被改换到query附加到UCR-VL上,假如是POST央求,根据contentType把data连串化成合适的格式;headers:发送的额外的HTTP头,必需是一个object;dataType:接纳的数量格式,能够钦定为’html’、’xml’、’json’、’text’等,缺省气象下基于响应的Content-Type估摸。

下边包车型地铁事例发送二个GET供给,并重回三个JSON格式的数额:

var jqxhr = $.ajax('/api/categories', { dataType: 'json'});// 请求已经发送了

唯独,如何用回调函数管理回来的数据和失误时的响应呢?

还记得Promise对象啊?jQuery的jqXHLacrosse对象相通一个Promise对象,大家得以用链式写法来处理各类回调:

'use strict';function ajaxLog { var txt = $('#test-response-text'); txt.val;}$('#test-response-text').val;var jqxhr = $.ajax('/api/categories', { dataType: 'json'}).done { ajaxLog('成功, 收到的数据: ' + JSON.stringify.fail(function  { ajaxLog('失败: ' + xhr.status + ', 原因: ' + status);}).always { ajaxLog;});

get

对常用的AJAX操作,jQuery提供了有些拉拉扯扯方法。由于GET央浼最广泛,所以jQuery提供了get()措施,能够那样写:

var jqxhr = $.get('/path/to/resource', { name: 'Bob Lee', check: 1});

其次个参数就算是object,jQuery自动把它成为query
string然后加到UEscortL后面,实际的U奇骏L是:

/path/to/resource?name=Bob%20Lee&check=1

诸如此比我们就毫非亲非故切什么用U普拉多L编码并协会三个query string了。

post

post相仿,不过传入的第三个参数私下认可被体系化为application/x-www-form-urlencoded

var jqxhr = $.post('/path/to/resource', { name: 'Bob Lee', check: 1});

实际上组织的数据name=Bob%20Lee&check=1作为POST的body被发送。

getJSON

是因为JSON用得越来越广阔,所以jQuery也提供了getJSON()艺术来飞快通过GET获取一个JSON对象:

var jqxhr = $.getJSON('/path/to/resource', { name: 'Bob Lee', check: 1}).done { // data已经被解析为JSON对象了});

安然范围

jQuery的AJAX完全封装的是JavaScript的AJAX操作,所以它的哈密范围和日前讲的用JavaScript写AJAX完全一致。若是供给使用JSONP,可以在ajax()中设置jsonp:
‘callback’
,让jQuery达成JSONP跨域加载数据。

如上正是本文的全体内容,希望对我们的学习抱有利于,也期待大家多多照拂脚本之家。

发表评论

电子邮件地址不会被公开。 必填项已用*标注