资讯专栏INFORMATION COLUMN

跨域解决方案等一些问题(jsonp,nginx代理等)

BenCHou / 1141人阅读

摘要:用跨域需要后台修改代码后台需要用前台传递的函数名将数据包起来,本质上是一个函数调用,将数据当做参数传递回来。跨域请求带上一般的请求都会默认带上,但是跨域默认不会带,要带上必须加一行代码带的跨域后台不能将设置为设置

1. 用jsonp跨域需要后台修改代码

后台需要用前台传递的函数名将数据包起来,本质上是一个函数调用,将数据当做参数传递回来。

callback({"data": "ok"})

所以普通的ajax请求产生的数据不能用jsonp去请求;
但是一个接口也可以同时支持普通的ajax请求(返回json对象),和jsonp请求(返回一串js代码),这需要后台和前台约定好一个参数作为函数名,如callback=cb,后台判断是否有这个参数,如果有这个参数就返回jsonp请求。

2. jsonp的弊端

服务器需要改动代码;

只支持get请求;

所以现在很少用了。

3. 跨域请求带上cookie

一般的ajax请求都会默认带上cookie,但是跨域默认不会带cookie,要带上cookie必须加一行代码;

$.ajax({
        url : "http://remote.domain.com/corsrequest",
        data : data,
        dataType: "json",
        type : "POST",
        xhrFields: {
            withCredentials: true
        },
        ...
4. 带cookie的跨域

后台不能将Access-Control-Allow-Origin设置为*

设置Access-Control-Allow-Credentials: true

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

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

相关文章

  • 跨域解决方案一些问题jsonp,nginx代理

    摘要:用跨域需要后台修改代码后台需要用前台传递的函数名将数据包起来,本质上是一个函数调用,将数据当做参数传递回来。跨域请求带上一般的请求都会默认带上,但是跨域默认不会带,要带上必须加一行代码带的跨域后台不能将设置为设置 1. 用jsonp跨域需要后台修改代码 后台需要用前台传递的函数名将数据包起来,本质上是一个函数调用,将数据当做参数传递回来。 callback({data: ok}) 所以...

    Nino 评论0 收藏0
  • 大话javascript 5期:跨域

    摘要:同源策略所谓同源是指协议,域名,端口均相同。同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。需注意的是由于同源策略的限制,所读取的为跨域请求接口所在域的,而非当前页。 一、什么是跨域 1.URL解析 URL (Uniform Resource Locator )统一资源定位符(URL)是用于完整地描述Internet上网页和其他资源的地址的...

    jzzlee 评论0 收藏0
  • 彻底弄懂跨域问题

    摘要:浏览器同源策略我们为何要研究跨域问题因为浏览器的同源策略规定某域下的客户端在没明确授权的情况下,不能读写另一个域的资源。 跨域,老生常谈的问题 简述 作为一只前端菜鸟,跨域方面只懂得JSONP和CORS,并未曾深入了解。但随着春招越来越近,就算是菜鸟也要猛振翅膀。近几日仔细研究了跨域问题,写下这篇文章,希望对开发者们有所帮助。在读本文前,希望您对以下知识略有了解。 浏览器同源策略 n...

    CoorChice 评论0 收藏0
  • 彻底弄懂跨域问题

    摘要:用于告知浏览器可以将预先检查请求返回结果缓存的时间,在缓存有效期内,浏览器会使用缓存的预先检查结果判断是否发送跨域请求。 跨域,老生常谈的问题 简述 作为一只前端菜鸟,跨域方面只懂得JSONP和CORS,并未曾深入了解。但随着春招越来越近,就算是菜鸟也要猛振翅膀。近几日仔细研究了跨域问题,写下这篇文章,希望对开发者们有所帮助。在读本文前,希望您对以下知识略有了解。 浏览器同源策略 n...

    rose 评论0 收藏0
  • 前端解决跨域

    摘要:所有支持的浏览器都会使用同源策略这个安全策略,所谓同源是指,域名,协议,端口相同,就是因为同源策略的影响导致没法直接用请求不同域上的数据,所以各种解决问题的技术出现了。 在日常的项目开发时会不可避免的需要进行跨域操作,面试中也是频繁被经常会问到的问题,本文只是我经常用到的解决跨域的方式做个记录与总结。 所有支持Javascript的 浏览器 都会使用‘同源策略’这个安全策略,所谓同源是...

    goji 评论0 收藏0

发表评论

0条评论

BenCHou

|高级讲师

TA的文章

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