首页 > 代码库 > django-jsonp 瀑布流 组合搜索 多级评论
django-jsonp 瀑布流 组合搜索 多级评论
一、JSONP
jsonp 原理:
1.浏览器同源策略
通过Ajax,如果在当前域名去访问其他域名时,浏览器会出现同源策略,从而阻止请求的返回
2.img,script,link,iframe - 不鸟同源策略
src属性的标签,一般不鸟同源策略
3.JSONP
利用 不鸟同源策略 的标签,发送跨域Ajax请求, <script>标签
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h1>Index</h1> <input type="button" onclick="Ajax();" value="普通AJax"/> <input type="button" onclick="Ajax2();" value="跨域普通AJax"/> <input type="button" onclick="Ajax3();" value="跨域牛逼AJax"/> <input type="button" onclick="Ajax4();" value="江西TV"/> <script src="/static/jquery-2.1.4.min.js"></script> <script> function Ajax(){ $.ajax({ url: ‘/get_data/‘, type: ‘POST‘, data: {‘k1‘: ‘v1‘}, success: function (arg) { alert(arg); } }) } function Ajax2(){ $.ajax({ url: ‘http://wupeiqi.com:8001/api/‘, type: ‘GET‘, data: {‘k1‘: ‘v1‘}, success: function (arg) { alert(arg); } }) } function Ajax3(){ // script // alert(api) var tag = document.createElement(‘script‘); tag.src = ‘http://wupeiqi.com:8001/api/‘; document.head.appendChild(tag); document.head.removeChild(tag); } function fafafa(arg){ console.log(arg); } function Ajax4(){ // script // alert(api) var tag = document.createElement(‘script‘); tag.src = ‘http://www.jxntv.cn/data/jmd-jxtv2.html?callback=list&_=1454376870403‘; document.head.appendChild(tag); document.head.removeChild(tag); } function list(arg){ console.log(arg); } </script> </body> </html>
viwes.py
from django.shortcuts import render,HttpResponse # Create your views here. def index(request): return render(request,‘index.html‘)
二 、图片显示瀑布流
xx.py #查看余数
# Author:Alex Li from django import template from django.utils.safestring import mark_safe from django.template.base import resolve_variable, Node, TemplateSyntaxError register = template.Library() @register.filter def detail1(value,arg): """ 查看余数是否等于remainder arg="1,2" :param counter: :param allcount: :param remainder: :return: """ allcount, remainder = arg.split(‘,‘) allcount = int(allcount) remainder = int(remainder) if value%allcount == remainder: return True return False
student.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> .container{ width: 980px; margin: 0 auto; } .container .column{ float: left; width: 245px; } .container .item img{ width: 245px; } </style> </head> <body> $(‘.container‘).eq(1).appned() <div class="container"> <div class="column"> </div> <div class="column"> </div> <div class="column"> </div> <div class="column"> </div> </div> img_list = [ {‘src‘: ‘1.jpg‘, ‘title‘: ‘asdfasdfasdf‘,‘content‘: ‘asdf‘},# 1 {‘src‘: ‘2.jpg‘, ‘title‘: ‘asdfasdfasdf‘,‘content‘: ‘asdf‘},# 2 {‘src‘: ‘3.jpg‘, ‘title‘: ‘asdfasdfasdf‘,‘content‘: ‘asdf‘}, {‘src‘: ‘4.jpg‘, ‘title‘: ‘asdfasdfasdf‘,‘content‘: ‘asdf‘}, {‘src‘: ‘18.jpg‘, ‘title‘: ‘asdfasdfasdf‘,‘content‘: ‘asdf‘},# 5 {‘src‘: ‘21.jpg‘, ‘title‘: ‘asdfasdfasdf‘,‘content‘: ‘asdf‘}, ] 1, </body> </html>
views.py
from django.shortcuts import render # Create your views here. def student(request): img_list = [ {‘src‘: ‘1.jpg‘, ‘title‘: ‘asdfasdfasdf‘,‘content‘: ‘asdf‘},# 1 {‘src‘: ‘2.jpg‘, ‘title‘: ‘asdfasdfasdf‘,‘content‘: ‘asdf‘},# 2 {‘src‘: ‘3.jpg‘, ‘title‘: ‘asdfasdfasdf‘,‘content‘: ‘asdf‘}, {‘src‘: ‘4.jpg‘, ‘title‘: ‘asdfasdfasdf‘,‘content‘: ‘asdf‘}, {‘src‘: ‘18.jpg‘, ‘title‘: ‘asdfasdfasdf‘,‘content‘: ‘asdf‘},# 5 {‘src‘: ‘21.jpg‘, ‘title‘: ‘asdfasdfasdf‘,‘content‘: ‘asdf‘}, ] return render(request, ‘student.html‘, {"img_list":img_list})
3
django-jsonp 瀑布流 组合搜索 多级评论
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。