资讯专栏INFORMATION COLUMN

跨域请求POST解决方案

e10101 / 1561人阅读

摘要:来源于阿贤博客跨域请求解决方案一般情况下是没法跨域的,甚至请求一般情况下都是无法跨域的。请求代码示例默认情况下,对象和下对象受制于同源策略是不允许跨域请求。的跨域是利用页面动态添加标签来引用跨域资源来避开这个限制,但没有方法。

来源于:阿贤博客

跨域请求POST解决方案
cookie一般情况下是没法跨域的,甚至POST请求一般情况下都是无法跨域的。
    //     请求代码示例
    $.ajax({
        url: url,
        type: "POST",
        data: metadata,
        dataType: "json",
        xhrFields: {  
            withCredentials: true  
        },  
        crossDomain: true,
        success: function(){},
        error: function(){}
    });

1、默认情况下,ajax(XMLHttpRequest()对象和ie下Microsoft.XMLHTTP对象)受制于同源策略是不允许跨域请求。

2、jsonp的跨域是利用页面动态添加script标签来引用跨域资源来避开这个限制,但没有post方法

解决方法:服务器端设置,允许ajax请求跨域
    ##     服务端设置允许跨域代码,eg:
    header("Access-Control-Allow-Credentials: true");

    header("Access-Control-Allow-Origin: http://www.xxx.com");

    ## 设置成功后,在接口请求的Response Headers会看到一下以下允许跨越信息
    {
        Access-Control-Allow-Credentials:true
        Access-Control-Allow-Headers:x-requested-with,content-type
        Access-Control-Allow-Methods:POST
        Access-Control-Allow-Origin:http://www.aipai.com
    }
cookies的跨域解决方案

ajax跨域请求问题解决了,但当后端需要通过接口获取cookies时,同样存在cookies的跨域问题

cookies的跨域解决方法:在请求中添加以下参数,请求头信息便会附带cookies信息
    // 代码
    $.ajax({
        ...
        xhrFields: {  
            withCredentials: true  
        },
        ...
    });

来源于:阿贤博客

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/103211.html

相关文章

  • javascript跨域

    摘要:实现跨域的原理通过方式请求载入并执行一个文件,相当于通过的形式的导入一个外部的方法语法该函数是简写的函数,等价于在中,您可以通过使用形式的回调函数来加载其他网域的数据,如。将自动替换为正确的函数名,以执行回调函数。 更多详情见http://blog.zhangbing.club/Ja... 最近在项目开发的过程中遇到一些Javascript 跨域请求的问题,今天抽空对其进行总结一下,以...

    PingCAP 评论0 收藏0
  • 一次跨域请求出现 OPTIONS 请求的问题及解决方法

    摘要:实际使用时,由于向提交的长度限制在字符,超过了则被浏览器拒绝,因此不采用。前端发起跨域请求就是正常的请求即可。 问题背景浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域 在前后端开发过程经常会遇到跨域问题。网上也都有解决方案。 写这篇文章时,我们碰到的一个场景是:要给s系统做一个扩展,前端的html、js放在s系统里,后端需要做一个单独的站点N.B....

    余学文 评论0 收藏0
  • Nginx配置跨域请求 Access-Control-Allow-Origin *

    摘要:给服务器配置后,表示服务器可以接受所有的请求源即接受所有跨域的请求。三预检请求其实上面的配置涉及到了一个标准全称是跨域资源共享,它的提出就是为了解决跨域请求的。服务器确认允许之后,才发起实际的请求。 当出现403跨域错误的时候 No Access-Control-Allow-Origin header is present on the requested resource,需要给Ng...

    zhangke3016 评论0 收藏0
  • cors跨域之简单请求与预检请求(发送请求头带令牌token)

    摘要:所以跨域请求分两种简单请求和预检请求。但对于第二个错误,好像没法向第一种那样,将预检请求转变为简单请求,所以,只有寻找方法怎么在后端实现相应的预检请求,来返回一个状态码,告诉浏览器此次跨域请求可以继续。 引子 自从从JAVA伪全栈转前端以来,学习的路上就充满了荆棘(奇葩问题),而涉及前后端分离这个问题,对cors的应用不断增多,暴露出的问题也接踵而至。这两天动手实践基于Token的WE...

    zsy888 评论0 收藏0
  • cors跨域之简单请求与预检请求(发送请求头带令牌token)

    摘要:所以跨域请求分两种简单请求和预检请求。但对于第二个错误,好像没法向第一种那样,将预检请求转变为简单请求,所以,只有寻找方法怎么在后端实现相应的预检请求,来返回一个状态码,告诉浏览器此次跨域请求可以继续。 引子 自从从JAVA伪全栈转前端以来,学习的路上就充满了荆棘(奇葩问题),而涉及前后端分离这个问题,对cors的应用不断增多,暴露出的问题也接踵而至。这两天动手实践基于Token的WE...

    RaoMeng 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<