1、通过jq的$.ajax()完成跨域,这是我比较喜欢的一种方式。

代码如下:

$.ajax({

  type:'get',

  async:true,

  url:'地址',

  dataType:'jsonp',   //这里一定要写

  jsonp:'callback',

  jsonCallback:'自定义的一个名字',

  success:function(data){

    console.log(data);

  },

  error:function(data){

    console.log(‘错误’)

  }

})

2、通过$.getJSON(又四个参数)

$.getJSON('http://api.douban.com/v2/movie/top250?callback=?',{
  'start':6,
  'count':10
  },function(data){
  console.log(data);
  var len=data.subjects.length;
  for(var i=0;i<len;i++){
  $('<tr>'+
  '<td>'+
  '<img src="'+data.subjects[i].images.large+'" />'+
  '</td>'+
  '<td style="width:200px;text-align: center;">'+
  '<span>'+data.subjects[i].directors[0].name+'</span>'+
  '</td>'+
  '<td style="width:200px;text-align: center;">'+
  '<span>'+data.subjects[i].title+'</span>'+
  '</td>'+
  '</tr>').appendTo($('table'));
  }
},'json')

3、js原生的 方式 :定义一个函数 操作返回的json数据,将这个函数作为回调函数,动态创建一个script标签,标签的src是数据地址在后面添上 callback=回调函数,将标签添加到body中。

(function(){
  var url='http://api.douban.com/v2/movie/top250?start=6&count=10';
  window.demo=function(res){
   alert(JSON.stringify(res));
  };
  var jsonp=function(url,fn){
   var ele=document.createElement('script');
   ele.src=url+'?callback='+fn;
   document.body.appendChild(ele);
  };
  jsonp(url,'demo');
 })

jsonp的三种跨域方式的更多相关文章

  1. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之十二 || 三种跨域方式比较,DTOs(数据传输对象)初探

    更新反馈 1.博友@落幕残情童鞋说到了,Nginx反向代理实现跨域,因为我目前还没有使用到,给忽略了,这次记录下,为下次补充.此坑已填 2.提示:跨域的姊妹篇——<三十三║ ⅖ 种方法实现完美跨 ...

  2. Javascript几种跨域方式总结

    在客户端编程语言中如javascript,同源策略规定跨域之间的脚本是隔离的,一个域的脚本不能访问和操作另外一个域的绝大部分属性和方法.只有当两个域具有相同的协议,相同的主机,相同的端口时,我们就认定 ...

  3. 同源策略(same-origin policy)及三种跨域方法

    同源策略(same-origin policy)及三种跨域方法 1.同源策略 含义: 同源是指文档的来源相同,主要包括三个方面 协议 主机 载入文档的URL端口 所以同源策略就是指脚本只能读取和所属文 ...

  4. JSONP和CORS两种跨域方式的简单介绍和解决方案实例

    随着软件开发分工趋于精细,前后端开发分离成为趋势,前端同事负责前端页面的展示及页面逻辑处理,服务端同事负责业务逻辑处理同时通过API为前端提供数据也为前端提供数据的持久化能力,考虑到前后端同事开发工具 ...

  5. JSONP和CORS两种跨域方式的优缺点及使用方法原理介绍

    随着软件开发分工趋于精细,前后端开发分离成为趋势,前端同事负责前端页面的展示及页面逻辑处理,服务端同事负责业务逻辑处理同时通过API为前端提供数据也为前端提供数据的持久化能力,考虑到前后端同事开发工具 ...

  6. web三种跨域请求数据方法

    以下测试代码使用php,浏览器测试使用IE9,chrome,firefox,safari <!DOCTYPE HTML> <html> <head>     < ...

  7. 「JavaScript」四种跨域方式详解

    超详细并且带 Demo 的 JavaScript 跨域指南来了! 本文基于你了解 JavaScript 的同源策略,并且了解使用跨域跨域的理由. 1. JSONP 首先要介绍的跨域方法必然是 JSON ...

  8. 「JavaScript」JS四种跨域方式详解

    原文地址https://segmentfault.com/a/1190000003642057 超详细并且带 Demo 的 JavaScript 跨域指南来了! 本文基于你了解 JavaScript ...

  9. JSONP原理及实现跨域方式

    今天做页面时,后台给了个接口:https://a.a.com/a/a.json,我页面的上线地址是:http://b.b.com.显而易见,因为浏览器同源策略的限制,通过ajax无法无法取得json的 ...

随机推荐

  1. PHP之图像处理

    PHP中提供了一些对图像进行编辑处理的函数,其中最为典型的应用为随机图形验证码.图片水印以及数据统计中饼状图和柱状图的生成等 PHP中有的图形函数可以直接使用,但多数需要在安装了GD2函数库后才能使用 ...

  2. XBOX ONE游戏开发常见问题

    XBOX ONE游戏开发常见问题 终于弄懂这个在Unity的sdk在Account Picker切换账号的机制了,一个手柄注册一个账号,在游戏里面的时候,只有另外一个手柄选择自己的账号,系统的Acti ...

  3. MySQL sql语言的笔记

    3 MySQL数据库 3.1 mysql数据存储结构 先数据库,再表,再有数据 4 数据库管理 4.1 查询所有数据库 mysql> show databases; +------------- ...

  4. lca入门———树上倍增法(博文内含例题)

    倍增求LCA: father[i][j]表示节点i往上跳2^j次后的节点 可以转移为 father[i][j]=father[father[i][j-1]][j-1] 整体思路: 先比较两个点的深度, ...

  5. Android Fragment 你应该知道的一切

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/42628537,本文出自:[张鸿洋的博客] 很久以前写过两篇Fragment的介绍 ...

  6. html-webpack-plugin插件的详细介绍和使用

    var webpack = require('webpack'); var HtmlWebpackPlugin = require('html-webpack-plugin'); module.exp ...

  7. JS给文本框赋值后,在页面后台取不到文本框值的解决方法

    转自:http://www.cnblogs.com/qiaohd/archive/2012/03/23/2413660.html (ReadOnly.disabled 都有可能造成取值取不到) 开发一 ...

  8. 窗口 - dialog - 与后端交互

    与后端交互,一般需要提交表单数据,所以,这次渲染得dialog其实是一个<form> <form id="loginForm"> <table ali ...

  9. Javascript Math.ceil()与Math.round()与Math.floor()区别

    Math.ceil()向上舍入 1 2 3 alert(Math.ceil(20.1)) //输出 21 alert(Math.ceil(20.5)) //输出 21 alert(Math.ceil( ...

  10. [转]nginx+fastcgi+c/c++搭建高性能Web框架

    FROM : http://blog.csdn.net/marising/article/details/3932938 1.Nginx 1.1.安装 Nginx 的中文维基 http://wiki. ...