html ajax访问webapi 跨域
2021-03-06 16:29
YPE html>
标签:响应头 meta ESS requested config body protocol appid server
一、为什么会出现跨域问题
出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)
二、什么是跨域
当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域
当前页面 http://localhost:60503/testWebApi.aspx
访问页面 http://localhost:8080/ierp/api/getAppToken.do
端口不一致 出现跨域
三、跨域解决方法
1、jsonp
$.ajax({ url: "http://localhost:8080/ierp/api/getAppToken.do", data: JSON.stringify(data), type: "get", dataType: ‘jsonp‘, crossDomain: true, contentType: false,//"application/json", success: function (data) { alert(data) } })
jsonp只能是get访问
2、CORS
在web.config中添加
"Access-Control-Allow-Origin" value="*" /> "Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /> "Access-Control-Allow-Headers" value="Content-Type,X-Requested-With,token" /> "Access-Control-Request-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
html
1 "C#" AutoEventWireup="true" CodeBehind="testWebApi.aspx.cs" Inherits="ZGFK.testWebApi" %> 2 3 4 5 "http://www.w3.org/1999/xhtml"> 6"server"> 7 8 968 6910 11 61 62 63
html ajax访问webapi 跨域
标签:响应头 meta ESS requested config body protocol appid server
原文地址:https://www.cnblogs.com/Julyra/p/12858478.html