发布于 2015-06-03 13:57:44 | 300 次阅读 | 评论: 0 | 来源: 网友投递
Ajax
AJAX即“Asynchronous Javascript + XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
前段时间做手机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"