加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax Post Cross Domain 跨域请求 WCF RestFull

发布时间:2020-12-16 02:03:46 所属栏目:百科 来源:网络整理
导读:前段时间做手机WebAPP,但开发人员习惯在浏览器上先调试基本功能,但这里就出现了跨域请求问题 当然如果你自己写服务,自己写WebAPP 都是localhost 就不会跨域,而且发布到手机上也不会跨域 关键来了!!!! 1. 先要确保你的js写的是对的 $.ajax({ url: url3,data:

前段时间做手机WebAPP,但开发人员习惯在浏览器上先调试基本功能,但这里就出现了跨域请求问题

当然如果你自己写服务,自己写WebAPP 都是localhost 就不会跨域,而且发布到手机上也不会跨域


关键来了!!!!

1. 先要确保你的js写的是对的

 $.ajax({
        url: url3,data: JSON.stringify({userName:uid,userPass:pwd}),contentType:"application/json; charset=utf-8",type:"POST",crossDomain: true,dataType: 'json',success: function (data) {
        },error: function (xhr,textStatus,errMsg) {
            
        }
});

2. 确保你的服务支持OPTION 请求格式,因为Jquery 跨域请求好像会请求两次,第一次OPTION,第二次POST,所以你的Method上面应该写 * ,而不是POST



3. 你的web.config 的 system.webServer 节点需要增加跨域响应支持

<httpProtocol>

<customHeaders>

<addname="Access-Control-Allow-Origin"value="*" />

<addname="Access-Control-Allow-Headers"value="Content-Type" />

<addname="Access-Control-Allow-Methods"value="GET,POST,PUT,DELETE,OPTIONS" />

</customHeaders>

</httpProtocol>


4.这个不知道是不是必须的,需要在system.serviceModel 中的standardEndpoint增加

crossDomainScriptAccessEnabled="true"


本人花了6个小时才解决,希望其他人少走弯路

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读