如何理解asp、aspx、asmx,以及跨域请求中的预检请求。

ASP、ASPX、ASMX
就从asp与aspx说起吧,这两者分别是asp应用程序与asp.net应用程序的后缀名称,与之类比的话应该和HTML+Javascript技术起相同的功能。asp与asp.net是运行于IIS之上,将运行结果编译完成后返回html,再由浏览器呈现。网页的后缀名为.asp与.aspx。
asmx是Web Service数据处理页,asmx.cs里有相关代码,属于B/S或C/S中的S,用SOAP方式Http访问,默认返回xml。
跨域请求中的预检请求
跨域资源共享标准新增了一组 HTTP 首部字段,允许服务器声明哪些源站有权限访问哪些资源。另外,规范要求,对那些可能对服务器数据产生副作用的 HTTP 请求方法(特别是 GET 以外的 HTTP 请求,或者搭配某些 MIME 类型的 POST 请求),浏览器必须首先使用 OPTIONS 方法发起一个预检请求(preflight request),从而获知服务端是否允许该跨域请求。服务器确认允许之后,才发起实际的 HTTP 请求。在预检请求的返回中,服务器端也可以通知客户端,是否需要携带身份凭证(包括 Cookies 和 HTTP 认证相关数据)。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在jQuery跨域请求Web Service可以使用JSONP技术来实现。JSONP是一种跨域数据交互的方式,它利用了`<script>`标签可以跨域访问的特性,通过动态创建`<script>`标签来加载返回指定格式数据的JavaScript文件,从而实现跨域请求数据的目的。 在使用jQuery进行JSONP请求时,需要将`dataType`参数设置为`jsonp`,并在`url`参数添加一个回调函数的参数名,用于指定回调函数的名称。Web Service需要将返回数据包裹在回调函数,以便客户端在收到数据后能够正确的解析和处理。具体用法如下: ```javascript $.ajax({ url: "http://example.com/MyWebService.asmx/MyMethod?callback=?", method: "GET", dataType: "jsonp", success: function(data) { console.log(data); }, error: function(error) { console.error(error); } }); ``` 其,`url`表示Web Service的请求地址,需要将回调函数的参数名设置为`callback=?`,`method`表示请求的方法为GET,`dataType`表示请求的返回数据类型为JSONP格式。在`success`回调函数,可以通过`data`获取返回的数据内容。在`error`回调函数,可以处理请求失败的情况。Web Service需要将返回数据包裹在回调函数,回调函数名由客户端指定。例如,如果客户端指定的回调函数名为`myCallback`,则Web Service返回的数据应该如下所示: ```javascript myCallback({"result": "success"}); ``` 其,`{"result": "success"}`表示返回的数据内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值