• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
zouzo
博客园    首页    新随笔    联系   管理    订阅  订阅

关于跨域GET、POST请求的小结//////////////////////zzzzzzz

 

JQuery:$.ajax/$.getJSON支持jsonp格式的跨域,但是只支持GET方式,暂不支持POST;

so,跨域POST是个值得研究的问题啊!万能的JQuery无法跨域POST;鉴于基本国情,CORS也只是适合在移动端玩玩;

 

复制代码
 1         $.ajax({
 2             type: 'post',
 3             url: url,
 4             data: {a:1,b:2},
 5             dataType: "jsonp",
 6             crossDomain: true,
 7             jsonpCallback: "sucCallback",
 8             success: function (data) {
 9                 console.log(data);
10             },
11             error: function (data) {
12                 console.log(data);
13             }
14         });
复制代码

话说我的个人小站在移动端还处于最原始的缩放状态,说好的H5 Response Web呢?原谅我再一次跑偏了:原本计划<link rel="stylesheets" type="css/text" media="screen and (max-width:xx-px)" href="max-xx.css" />或者直接在原有样式表里media query;而结果却是我新开了个站点,作为移动端的版本,读取PC端存储的数据;一方面减轻代码量,使移动端更轻量简洁,毕竟只是个博客嘛;另一方面, 这样的话,移动端将有更宽广的随意挥洒的空间;再者,基于性能优化,这样也不错;当然,问题也很明显了;两个站点要共享数据,连同一个数据库,要做同步操 作,呵呵,我一个小前端,这些貌似目前想太多啊!那么怎么办呢,是的,就是上面说到的问题,前端跨域请求数据;

OK,那么要开始跨域请求和提交数据了;如果只是请求远程数据,GET方式足矣;可是如果要提交大量数据,比如,某大侠路过小站,一时兴起,引经据典,古今中外,滔滔不绝,长篇大论一通,这样的话恐怕GET搞不定啊!先看看最简单的GET方式吧:

1 $.getJSON('http://www.famanoder.com /page/ajaxPage?callback=?&jsonpCallback=getmore&page=3&ori=about');

 

1 Artical.find({},function(err,docs){
2     err&&console.log(err);
3     var d=JSON.stringify(docs);
4     res.send(callback+"("+d+")");
5 });

前面说了,伟大的JQuery暂时不支持POST方式的跨域;那咋办呢?其实没有想象的那么复杂,是时候证明你不能太依赖JQuery了,有时候没有她,你也要好好过;

 

复制代码
1 <!-- a.html -->
2 <!-- test post access domain -->
3 <!-- use form and hide iframe -->
4 <form action="b.com" method="post" target="hidefrm">
5     <input type="text" value="test post data access domain">
6     <input type="submit" value="submit">
7 </form>
8 <iframe src="" name="hidefrm" frameborder="0"></iframe>
复制代码

 

1 res.send('document.domain="a.com";window.parent.aa('+str+')');
posted @ 2016-09-18 17:06  zouzo  阅读(1023)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3