Day22 JSONP、瀑布流

一、JSONP

JSONP
    a.Ajax
    $.ajax({
        url:‘/index/‘,
        dataType:‘json‘,
        data:{},
        type:‘GET‘,
        success:function(a){
        }
    })
    b.浏览器同源策略
    通过Ajax,如果在当前域名去访问其他域名时,浏览器会出现同源策略,从而阻止请求的返回
    c.img、script、link、iframe--同源策略不生效
    具有src属性的标签,一般同源策略不生效
    d.JSONP
        利用标签不生效同源策略,发送跨域ajax请求,<script>

    function Ajax3(){
        #创建script标签
        var tag = document.createElement(‘script‘);
        tag.src = ‘http://wang.com:8001/api‘;
        document.head.appendChild(tag);
        document.head.removeChild(tag);

    }
    #设置同名回调函数

    function fafafa(arg){
        console.log(arg);
    }

    views.py
        from django.shortcuts import render,HttpResponse
        import json

        # Create your views here.
        def index(request):
            li = [‘alex‘, ‘eric‘, ‘tom‘]
            #字符串形式
            #temp = "fafafa(‘%s‘)" %(‘alex‘)
            #return HttpResponse(‘temp‘)
            #列表、字典形式
            temp = "fafafa(%s)" %(json.dumps(li))
            return HttpResponse(temp)

jsonp总结:

总结:
    1、本域名ajax:
        原生Ajax
        jQuery Ajax
    2、跨域名Ajax
        机制方式伪Ajax请求,JSONP
            a.创建script标签
            b.jQuery
                $.ajax({
                    url: http://wang.com:8001/api,
                type: ‘GET‘,
                dataType: ‘jsonp‘,
                jsonp: ‘callback‘,
                jsonpCallback: ‘list‘,
                })
            function list(arg){
                console.log(arg);
            }
        ===>
        a、本地
            jQuery
        b、跨域
            dataType: ‘jsonp‘,
            jsonp: ‘callback‘,
            jsonpCallback: ‘list‘,

            function list(arg){
                console.log(arg);
            }
    3、jsonp 和 jsonpCallback
        符合jsonp规范
        -jsonp:callback    # request.GET.get("callback")
        -jsonpCallback: ‘list‘    # list(...)
    4、是否可以发POST请求?
        不能发POST
        script标签-->打开url-->GET请求-->无视POST
        <script src=‘http://wang.com:8001/api‘></script>
        ==>最终全部都会转换成GET请求
    扩展:
        跨域Ajax ->
            POST通过jsonp转换成GET
            CORS--跨站资源共享(支持新版本浏览器,IE6、7、8会有问题)
时间: 2024-10-11 04:32:32

Day22 JSONP、瀑布流的相关文章

django-jsonp 瀑布流 组合搜索 多级评论

一.JSONP jsonp 原理: 1.浏览器同源策略        通过Ajax,如果在当前域名去访问其他域名时,浏览器会出现同源策略,从而阻止请求的返回 2.img,script,link,iframe - 不鸟同源策略        src属性的标签,一般不鸟同源策略       3.JSONP        利用 不鸟同源策略 的标签,发送跨域Ajax请求, <script>标签 index.html <!DOCTYPE html> <html lang="

瀑布流原理

瀑布流效果分为两类:蘑菇街效果(第一种:固定列数).百度图片/花瓣网(第二种:随着窗口的大小列数发生变化 ) 涉及到的问题: 1.数据问题(应用的技术:ajax/jsonp) 2.数据加载之后如何显示在页面上 ,展现出效果. 第一种:蘑菇街式的固定列数 原理: 一个ul,如果有四列,就是有四个li(浮动定位,宽度提前定义,但是高度没有定义),如果一次性的加载10条数据,那么一次从左到右填充li,填充一屏之后再加载,就寻找最小列填充. 第二种:百度图片.花瓣网(随窗口大小列数发生变化) 原理: 页

扩展版瀑布流

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>瀑布流-扩展版02</title> <style type="text/css"> * { margin: 0; padding: 0; } #list { list-style: none; position: relative; margin: 0 auto; }

PSCollectionView瀑布流实现

[-] 一基本原理 二具体实现 相关数据结构 视图更新方式 relayoutViews方法 removeAndAddCellsIfNecessary方法 select方法 重用数据块视图机制 三使用方法 四其他瀑布流实现 PSCollectionView是一个实现较简洁的仿Pinterest瀑布流iOS版实现,使用UIScrollView做容器,每列列宽固定,高度可变,使用方式类似UITableView.其效果如图: 一.基本原理 其基本实现原理为: 列数固定,根据列数每列存储一个当前列的高度值

自定义实现带文字标题的瀑布流效果

在网上能找到的大部分资料中的瀑布流效果都是单纯的照片实现,现在我来实现一个带文字标题的.效果如下: 每个item都是由图片和文字标题两部分组成. 布局方式为ScrollView里面嵌套一个水平方向的LinearLayout,里面再嵌套两个竖直方向的LinearLayout,然后判断竖直方向的两个LinearLayout的高度,向比较低的那个Linearlayout里面添加item. 下面是代码 <ScrollView xmlns:android="http://schemas.androi

1、网页后退 2、瀑布流 3、上下左右的阿斯科码值 4、加密技术

1.网页后退 /前进  <a href="javascript:history.go(-1);">后退</a><a href="javascript:history.go(1);">前进</a> 2.瀑布流              瀑布流是目前一种比较流行的页面布局和加载效果.百度,花瓣等一些好的网站都广泛用了这样一种效果,适用于单页面展示对内容的页面.这几天就跟着一些资料学习了一下瀑布流效果的制作.其原理是利用js

IOS 瀑布流UICollectionView实现

IOS 瀑布流UICollectionView实现 在实现瀑布流之前先来看看瀑布流的雏形(此方法的雏形 UICollectionView) 对于UICollectionView我们有几点注意事项 它和tableView不一样,ContentView的内容完全需要我们自己去添加. 它与tableview相比,他的初始化需要FlowLayout并且大部分操作在其上. UIcollectionView的实用性极强,虽然有时他并不是最好的解决方案,但是它可以很灵活的实现各种效果. 图(一) 如图,模拟器

自定义控件三部曲视图篇(三)——瀑布流容器WaterFallLayout实现

前言:只要在前行,梦想就不再遥远 系列文章: Android自定义控件三部曲文章索引:http://blog.csdn.net/harvic880925/article/details/50995268 前面两节讲解了有关ViewGroup的onMeasure.onLayout的知识,这节我们深入性地探讨一下,如何实现经常见到的瀑布流容器,本节将实现的效果图如下: 从效果图中可以看出这里要完成的几个功能: 1.图片随机添加 2.在添加图片时,总是将新图片插入到当前最短的列中 3.每个Item后,

【jQuery Demo】图片瀑布流实现

瀑布流就是像瀑布一样的网站——丰富的网站内容,特别是绚美的图片会让你流连忘返.你在浏览网站的时候只需要轻轻滑动一下鼠标滚轮,一切的美妙的图片精彩便可呈现在你面前.瀑布流网站是新兴的一种网站模式——她的典型代表是pinterest.美丽说.蘑菇街这类型的网站. 下面是效果: 核心内容: 1.先设置布局,主要HTML代码如下 <div id="container"> <div class="box"> <div class="co

js实现瀑布流以及加载效果

一.瀑布流是个啥? 瀑布流,是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部. 最早采用瀑布流布局的网站是Pinterest,逐渐在国内流行开来,比如我们熟知的百度图片的布局,在"很久"以前,百度图片还是需要一页一页的点击进行查看更多图片,而现在的瀑布流布局使用户查找图片更加方便. 二.瀑布流的优缺点 优点: 1.节省了页面的空间,不再需要导航和页码按钮. 2.增强了用户的体验,使用户的体验更多的是在于浏览图