1.跨域问题
跨域问题是:
浏览器的同源安全策略
没错,就是这家伙干的,浏览器只允许请求当前域的资源,而对其他域的资源表示不信任。那怎么才算跨域呢?
- 请求协议
http,https
的不同 - 域
domain
的不同 - 端口
port
的不同
好好好,大概就是这么回事啦,下面我们讲2种中规中矩的办法:CORS
,JSONP
document.domain,window.name,web sockets就先别闹了,腰不好 : )
作者:馒头身体棒棒
链接:https://www.jianshu.com/p/89a377c52b48
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
因为使用jsonp的缺点比较多:前后端代码都需要改动,对GET请求比较友好,其他的就很不友好了。
所以这边选择CORS方式跨域
简单请求就在服务器的网站HTTP请求头上添加:Access-Control-Allow-Origin:*(*代表所有主机请求都允许。)
复杂请求则需要在服务器的网站HTTP请求头上添加:Access-Control-Allow-Methods:POST,GET,PUT,DELETE,OPTIONS
和Access-Control-Allow-Headers:Content-Type
2.webservices调用问题
提示Url意外的错误和只能在本地测试
在webconfig添加<system.web>节点下添加
<webServices>
<protocols>
<add name="HttpSoap" />
<add name="HttpPost" />
<add name="HttpGet"/>
<add name="Documentation" />
</protocols>
</webServices> 即可