通过服务器端设置解决前端AJAX请求跨域访问WebServie(C#开发,IIS发布)

通过服务器端设置解决前端AJAX请求跨域访问WebServie(C#开发,IIS发布)

 

问题:前端通过ajax调用时候发生错误跨域访问的错误

<!--功能说明:Ajax调用WebService
<script type="text/javascript">
function test(){

$.ajax({
type: "POST",
contentType: "application/json;charset=utf-8",
url: "http://www.xxxx.org/test.asmx/TestMethod",
data:"{a:12345,b:'abcd'}",

success: function (response) {
alert("成功:" + response.d);
},
error: function (msg) {
alert("错误:" + msg);
}
})

}
</script>


解决方法:在WebService服务配置文件web.config文件中添加跨域访问许可,共有2个地方需要修改


1、在configuration节点中的system.web节点里面添加

<!--客服端跨域调用要使用-->
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>

表示可以支持Http的get和post访问,可以更具需求进行修改

2、在在configuration节点中直接添加

<!--客服端跨域调用要使用-->
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/>
<add name="Access-Control-Allow-Headers" value="x-requested-with,content-type"/>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
其中Access-Control-Allow-Origin的值可以依据具体情况进行设定,为“*”表示所有网站都可以访问

转载于:https://www.cnblogs.com/SafeSimple/p/7736423.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值