菜单

jQuery使用ajax跨域获取数据

2019年5月18日 - CSS/CSS3

跨域是自家在一般面试中时常会问到的难题,那词在前端界出现的功能不低,首要缘由依旧由于安全限制(同源计策,
即JavaScript或Cookie只能访问同域下的开始和结果),因为我们在普通的品种开垦时会不可防止的要求开始展览跨域操作,所以跨域技巧也毕竟前端技术员的根底之壹。

var webMethod = "http://localhost:54473/Service1.asmx/HelloWorld"; 
    jQuery.support.cors = true;
    //之前没有加这句老是提示no transport,我没去深想。
        $.ajax
        ({

            type: "POST",
            contentType: "application/x-www-form-urlencoded",
            dataType: "html",
            url: "http://www.*****.com",  //这里是网址
            success:function(data){alert(data);},
            timeout:30000, 
            error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert(errorThrown);
            }
        });
var webMethod = "http://localhost:54473/Service1.asmx/HelloWorld"; 
    jQuery.support.cors = true;
    //之前没有加这句老是提示no transport,我没去深想。
  $.ajax
  ({

   type: "POST",
   contentType: "application/x-www-form-urlencoded",
   dataType: "html",
   url: "http://www.*****.com", //这里是网址
   success:function(data){alert(data);},
   timeout:30000, 
   error: function (XMLHttpRequest, textStatus, errorThrown) {
   alert(errorThrown);
   }
  });

图片 1

参数

 

options

参数

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 请求中校附加在 ULANDL
后。查看 processData 选项表达以禁绝此活动调换。必须为 Key/Value
格式。假使为数组,jQuery 将自行为分化值对应同二个名称。如 {foo:[“bar1”,
“bar2”]} 转换为 ‘&foo=bar1&foo=bar2’。

dataFilter
类型:Function

给 Ajax 重回的原始数据的实行预管理的函数。提供 data 和 type
多少个参数:data 是 Ajax 重临的本来数据,type 是调用 jQuery.ajax 时提供的
dataType 参数。函数重临的值将由 jQuery 进一步管理。

dataType
类型:String

料想服务器重回的数据类型。借使不钦命,jQuery 将电动根据 HTTP 包 MIME
信息来智能剖断,比方 XML MIME 类型就被辨以为 XML。在 一.四 中,JSON
就能够转移3个 JavaScript 对象,而 script
则会试行那些本子。随后服务器端重回的数据会根据这么些值分析后,传递给回调函数。可用值:

error
类型:Function

暗许值: 自动判定 (xml 或 html)。请求战败时调用此函数。

有以下多个参数:XMLHttpRequest 对象、错误消息、(可选)捕获的那么些对象。

设若爆发了不当,错误新闻(第三个参数)除了拿走 null 之外,还大概是
“timeout”, “error”, “notmodified” 和 “parsererror”。

那是3个 Ajax 事件。

global
类型:Boolean

是或不是接触全局 AJAX 事件。暗中认可值: true。设置为 false 将不会触发全局 AJAX
事件,如 ajaxStart 或 ajaxStop 可用以调节分裂的 Ajax 事件。

ifModified
类型:Boolean

仅在服务器数据变动时得到新数据。私下认可值: false。使用 HTTP 包
Last-Modified 头新闻剖断。在 jQuery 1.四 中,它也会检查服务器钦赐的
‘etag’ 来规定数据未有被改动过。

jsonp
类型:String

在八个 jsonp 请求中重写回调函数的名字。那一个值用来顶替在 “callback=?”
这种 GET 或 POST 请求中 U奥迪Q3L 参数里的 “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

急需回到3个 XMLHttpRequest 对象。暗中认可在 IE 下是 ActiveXObject
而其他情状下是 XMLHttpRequest 。用于重写大概提供一个增加的
XMLHttpRequest 对象。这么些参数在 jQuery 一.三 从前不可用。

类型: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 对象和3个描述请求类型的字符串。

那是2个 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 请求大校附加在 U凯雷德L
后。查看 processData 选项表明以禁绝此活动调换。必须为 Key/Value
格式。借使为数组,jQuery 将自动为差异值对应同二个名号。如 {foo:[“bar1”,
“bar2”]} 转换为 ‘&foo=bar1&foo=bar2’。

dataFilter

类型:Function

给 Ajax 重返的固有数据的开始展览预管理的函数。提供 data 和 type
七个参数:data 是 Ajax 再次来到的本来面目数据,type 是调用 jQuery.ajax 时提供的
dataType 参数。函数重临的值将由 jQuery 进一步管理。

dataType

类型:String

预料服务器重临的数据类型。假使不内定,jQuery 将电动遵照 HTTP 包 MIME
音信来智能推断,比方 XML MIME 类型就被识别为 XML。在 一.四 中,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”。

这是2个 Ajax 事件。

global

类型:Boolean

是或不是接触全局 AJAX 事件。暗许值: true。设置为 false 将不会触发全局 AJAX
事件,如 ajaxStart 或 ajaxStop 可用来调节分化的 Ajax 事件。

ifModified

类型:Boolean

仅在服务器数据变动时得到新数据。私下认可值: false。使用 HTTP 包
Last-Modified 头新闻判定。在 jQuery 一.4 中,它也会检讨服务器钦赐的
‘etag’ 来明确数据尚未被修改过。

jsonp

类型:String

在3个 jsonp 请求中重写回调函数的名字。那个值用来替代在 “callback=?”
这种 GET 或 POST 请求中 U汉兰达L 参数里的 “callback” 部分,比如{jsonp:’onJsonPLoad’} 会导致将 “onJsonPLoad=?” 传给服务器。

jsonpCallback

类型:String

为 jsonp 请求内定三个回调函数名。那些值将用来取代 jQuery
自动生成的专擅函数名。那关键用来让 jQuery
生成度独特的函数名,那样管理请求更便于,也能有利于地提供回调函数和错误管理。你也能够在想让浏览器缓存
GET 请求的时候,钦命这些回调函数名。

password

类型:String

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

processData

类型:Boolean

暗许值:
true。默许意况下,通过data选项传递进入的多少,假诺是1个目的(手艺上讲只要不是字符串),都会管理转化成三个询问字符串,以特出私下认可内容类型
“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 壹.三 在此以前不可用。

你可能感兴趣的篇章:

相关文章

发表评论

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

网站地图xml地图