hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 文章 - 后端开发 - 正文 看Cosplay古风插画小姐姐,合集图集打包下载:炫龙网 · 炫龙图库

关于Jsonp跨域原理详解及简单应用_WEB前端开发

2020-01-31后端开发ki4网15°c
A+ A-

JavaScript中常用的20个字符串方法(收藏)_WEB前端开发

本文给大家介绍一下值得收藏的20个常用JavaScript字符串方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

浏览器的同源策略:

同源策略(Same Origin Policy)是一种约定,它是由Netscape提出的一个著名的安全策略,它限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。

同源的定义:如果两个页面的协议,端口(如果有指定)和主机都相同,则两个页面具有相同的源。我们也可以把它称为“协议/主机/端口 tuple”,或简单地叫做“tuple". ("tuple" ,“元”,是指一些事物组合在一起形成一个整体,比如(1,2)叫二元,(1,2,3)叫三元)

如果协议、端口、主机(域名或IP地址,如果是IP地址则看做一个根域名)、子域名,当其中一个不同,则我们的请求即会发生跨域问题。

下表给出了相对http://store.company.com/dir/page.html同源检测的示例:

ps怎么调画笔防抖_WEB前端开发

PS是没有自带的抖动修正,我们可以在画笔预设中稍微的进行调整修正。设置方法:打开画笔预设,勾选预设中的“传递”,根据情况调节参数即可实现防抖动。

突破同源策略限制:

1、script标签的src/img标签的src,或者说link标签的href他们没有被通源策略所限制

2、src或href链接的静态资源,本质上来说也是一个get请求

JSONP是什么?和json有关系吗?

Json(JavaScript Object Notation) 是一种轻量级的数据交换格式。

JSONP是JSON with Padding的略称。它是一个非官方非正式的传输的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问。

JSONP的简单实现:

html代码:(运行在本地http://zrcloud.com/test.html)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Jsonp简单实例</title>
<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<h3>JSONP简单实例</h3>
<script type="text/javascript">
  $(function() {
    $.ajax({
      type:'get',
      async:false,//同步请求
      url:'http://mqcms.com/test.php',
      dataType:'jsonp',
      jsonp:'callback',//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
      jsonpCallback:'test',//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据
      success:function(data){
          console.log(data);
      }
    })
  })
</script>
</body>
</html>

PHP服务器端代码:

<?php
header('Content-Type:application/json; charset=utf-8');
$callback =isset($_GET['callback']) ? trim($_GET['callback']) : '';
$arr=['name'=>'test','age'=>18,'sex'=>1];
echo $callback.'('.json_encode($arr).')';
?>

运行结果:

注:为什么我这次没有写test这个函数呢?而且竟然也运行成功了!

这就是jQuery的功劳了,jquery在处理jsonp类型的ajax时(,虽然jquery也把jsonp归入了ajax,但其实它们真的不是一回事儿),自动帮你生成回调函数并把数据取出来供success属性方法来调用。

以上就是关于Jsonp跨域原理详解及简单应用的详细内容,更多请关注ki4网其它相关文章!

layui弹出层(open)的属性介绍_WEB前端开发

layui框架是一款采用自身模块规范编写的前端UI框架,遵循原生HTML/CSS/JS的书写与组织形式,门槛极低,拿来即用。本文为大家介绍了layui弹出层(open)的属性,希望对大家有一定的帮助。

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
关于Jsonp跨域原理详解及简单应用_WEB前端开发

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>