跨域问题解决方案

简介:

1.1、用form表单提交数据来解决跨域问题 
用js处理form表单提交,通过动态给form元素赋值,来进行设置接口地址。在form标签上写入这就代码 enctype="multipart/form-data" :这句代码指定form表单提交时的编码格式为utf-8. 通过用一个隐藏的 iframe标签,用target="hidden_frame",来解决form表单提交时跳转页面的问题。
1.2、post跨域解决方案
需要前后端配合设置解决跨域问题,后端需要做的是开启CORS,允许特定域名进行跨域访问。 厅客web前端技术总结

当你使用XMLHttpRequest发送请求时,浏览器发现该请求不符合同源策略,会给该请求加一个请求头:Origin,后台进行一系列处理,如果确定接受请求则在返回结果中加入一个响应头:Access-Control-Allow-Origin;浏览器判断该相应头中是否包含Origin的值,如果有则浏览器会处理响应,我们就可以拿到响应数据,如果不包含浏览器直接驳回,这时我们无法拿到响应数据。如下图 厅客web前端技术总结

(1)、zepto ajax提交 代码如下
$.ajax({
type: 'post',
url: url,
data:{
'selfSummary':S.one(".form-control").val(),
'merchantCode':'160315133351031001',
},
contentType:'application/x-www-form-urlencoded;charset=UTF-8',
success: function(data){
console.log(JSON.parse(data));
//this.append(data.project.html)
},
error: function(xhr, type){
alert('Ajax error!')
}
解析:contentType:'application/x-www-form-urlencoded;charset=UTF-8', 这句代码如果没有,可以 进行跨域提交,但会出现中文汉字乱码问题;application/x-www-form-urlencoded 可以进行跨域请 求;charset=UTF-8 设定编码格式,如果没有则会乱码。
(2)、KISSY post提交
S.IO({
type:'post',
url: ' https://dev.teenker.com/iteenker-business- center/teenker/merchant/businessCard/update.html',
data:{
'selfSummary':S.one(".form-control").val(),
'merchantCode':'160315133351031001',
"cc":{"sdf":1,"sdf":2},
},
crossDomain:true,
contentType:'application/x-www-form-urlencoded;charset=UTF-8',
success:function(responseData){
console.log(responseData);
},
error:function(responseData){
Notification.simple("请求失败,请稍后再试",'',2000);
}
});
解析:crossDomain:true, 表示允许跨域;
CORS的本质让服务器通过新增响应头Access-Control-Allow-Origin,通过HTTP方式来实现资源 共享,让每个请求的服务直接返回资源.它使用了HTTP交互方式来确定请求源是否有资格请求该资 源,并且通过设置HTTP Header来控制访问资源的权限.
相关文章
|
3月前
|
前端开发 JavaScript 安全
跨域的五种最常见解决方案
跨域的五种最常见解决方案
|
5月前
|
Web App开发 JSON 前端开发
前端跨域解决方案-汇总
前端跨域解决方案-汇总
77 0
|
4天前
|
Web App开发 移动开发 运维
跨域解决方案[前端+后端]
跨域解决方案[前端+后端]
19 0
|
8月前
|
移动开发 前端开发 JavaScript
前端跨域的解决方案?
前端跨域的解决方案?
72 0
|
4月前
|
JavaScript 前端开发 Java
CORS跨域问题(前后端全栈解决方式讲解)
CORS跨域问题(前后端全栈解决方式讲解)
41 0
|
8月前
|
移动开发 前端开发 安全
【前端跨域的解决方案?】
【前端跨域的解决方案?】
|
9月前
|
缓存 前端开发 JavaScript
跨域问题详解及解决方案
跨域问题详解及解决方案
356 0
|
移动开发 JavaScript 前端开发
前端常见跨域解决方案(全)
前端常见跨域解决方案(全)
744 0
|
Web App开发 前端开发 JavaScript
前端跨域解决方案
前后端分离开发给我带来很多的便利,无论是前端同学还是后端同学对于此种开发方式都是举双手赞成的。因为这样我们后端同学不用被css js这一大堆的前端代码折磨了,前端也不用改个样式要开个后台服务。虽然如此方便,但对于前端还是有些问题需要解决的。比如跨域问题,今天在项目中本地局域网测试移动端,手机浏览器打开会出现跨域(pc端跨域已通过chrome设置解决了)。
|
前端开发
前后端跨域常用解决方案
前后端跨域常用解决方案
145 0