天天看点

跨域问题解决方案

1.1、用form表单提交数据来解决跨域问题 

用js处理form表单提交,通过动态给form元素赋值,来进行设置接口地址。在form标签上写入这就代码 enctype="multipart/form-data" :这句代码指定form表单提交时的编码格式为utf-8. 通过用一个隐藏的 iframe标签,用target="hidden_frame",来解决form表单提交时跳转页面的问题。

1.2、post跨域解决方案

跨域问题解决方案
跨域问题解决方案

(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',

"cc":{"sdf":1,"sdf":2},

crossdomain:true,

success:function(responsedata){

console.log(responsedata);

error:function(responsedata){

notification.simple("请求失败,请稍后再试",'',2000);

});

解析:crossdomain:true, 表示允许跨域;

cors的本质让服务器通过新增响应头access-control-allow-origin,通过http方式来实现资源 共享,让每个请求的服务直接返回资源.它使用了http交互方式来确定请求源是否有资格请求该资 源,并且通过设置http header来控制访问资源的权限.

继续阅读