跨域jsonp+jQuery+json+html动态生成表格
1、什么是跨域
浏览器对于javascript的同源策略的限制,例如a.cn下面的js不能调用b.cn中的js,对象或数据(因为a.cn和b.cn是不同域),所以跨域就出现了.
凡是拥有scr这个属性的标签都可以跨域例如<script><img><iframe>
数据接口网站:https://www.nowapi.com/api
2、实例

//引用jQuery
<script type="text/javascript" src="js/jquery.js"></script>
方法一:动态生成整个表格
<body>
请输入城市:<input type="text" id="tid" value="" />
<input type="button" id="btn" value="查询1"/>
<!--生成的表格放在div中 -->
<div id="did"></div>
</body>
<script type="text/javascript">
$(function(){
$('#btn').click(function(){
var loc=$("#tid").val();
console.log(loc)
//只需要把weaid的内容改变就可以查到对应城市天气
//format=json返回json数据类型
//jsoncallback=hundle 执行hundle方法
var url ='http://api.k780.com/?app=weather.future&weaid='+loc+'&&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json&jsoncallback=hundle';
$.getScript(url,function(){
console.log("jsonp done");
});
});
//hundle方法
function hundle(data){
console.log(data);
console.log(data.result);
//表格删除
$('#tableId').remove();
var table=$("<table id='tableId' border='1px'>").appendTo($("#did"));
table.html("<tr><td>日期</td><td>星期</td><td>温度</td></tr>");
$.each(data.result, function(index, e) {
console.log(index + "=" + e.days);
var tr = $('<tr/>');
$('<td>').html( e.days).appendTo(tr);
$('<td>').html(e.week).appendTo(tr);
$('<td>').html(e.temperature).appendTo(tr);
$('#tableId').append(tr);
});
}
});
</script>
方法二:表格在页面生成动态追加行
<body>
请输入城市:<input type="text" id="tid" value="" />
<input type="button" id="btn2" value="查询2"/>
<table border="1px" id="tableId2">
<tr>
<td>日期</td>
<td>星期</td>
<td>温度</td>
</tr>
</table>
</body>
<script type="text/javascript">
$(function(){
$('#btn2').click(function(){
var loc=$("#tid").val();
console.log(loc)
var url ='http://api.k780.com/?app=weather.future&weaid='+loc+'&&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json&jsoncallback=hundle2';
$.getScript(url,function(){
console.log("jsonp done");
});
});
});
function hundle2(data){
console.log(data);
console.log(data.result);
//除了第一行删除
$('tr:gt(0)').remove();
$.each(data.result, function(index, e) {
console.log(index + "=" + e.days);
var tr = $('<tr/>');
$('<td>').html( e.days).appendTo(tr);
$('<td>').html(e.week).appendTo(tr);
$('<td>').html(e.temperature).appendTo(tr);
$('#tableId2').append(tr);
});
}
</script>
跨域jsonp+jQuery+json+html动态生成表格的更多相关文章
- js将json数据动态生成表格
今天开发中遇到需要展示动态数据的问题, 具体要求是后端传来的json字符串,要在前端页面以table表格的形式展示, 其实没啥难的,就是拼接table标签,纯属体力活,于是自己写了个呆萌,保存起来,以 ...
- jQuery $.ajax跨域-JSONP获取JSON数据(转载)
Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术.Ajax 允许在不干扰 Web 应用程序的显示 ...
- jQuery 根据JSON数据动态生成表格
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- jQuery利用JSON数据动态生成表格
<style type="text/css"> table.gridtable { font-family: verdana,arial,sans-serif; fon ...
- JQuery.Ajax + 跨域 (crossDomain) + POST + JSON + WCF RESTful, 5大陷阱和解决方案
JQuery.Ajax + 跨域 (crossDomain) + POST + JSON + WCF RESTful, 5大陷阱和解决方案 最近在开发WSS RESTful服务的时候, 碰到了这些个纠 ...
- js实现跨域(jsonp, iframe+window.name, iframe+window.domain, iframe+window.postMessage)
一.浏览器同源策略 首先我们需要了解一下浏览器的同源策略,关于同源策略可以仔细看看知乎上的一个解释.传送门 总之:同协议,domain(或ip),同端口视为同一个域,一个域内的脚本仅仅具有本域内的权限 ...
- Ajax进阶之原生js与跨域jsonp
什么是Ajax? 两个数求和: 用Jquery和数据用json格式 viws函数: from django.shortcuts import render,HttpResponse # Create ...
- 什么是同源策略,什么是跨域,如何跨域,Jsonp/CORS跨域
同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响. 可以说Web是构建在同源策略基础之上 ...
- 由浅入深学习ajax跨域(JSONP)问题
什么是跨域?说直白点就是获取别人网站上的内容.但这么说貌似又有点混淆,因为通常我们用ajax+php就可以获取别人网站的内容,来看下面这个例子. 来看看跨域的例子,jquery+ajax是不能跨域请求 ...
随机推荐
- javaBean命名规范 get / set 后的首字母大写
javaBean命名规范 Sun 推荐的命名规范 1 ,类名要首字母大写,后面的单词首字母大写 2 ,方法名的第一个单词小写,后面的单词首字母大写 3 ,变量名的第一个单词小写,后面的单词首字母大写 ...
- Django工作流
1.Django的处理流程(没有涉及到数据库层的操作) 1-1:URL组成 http://127.0.0.1:8000/index/(协议:/ip地址:端口/主机上的目录或文件地址) 1-2:URLc ...
- 性能报告之HTML5 性能测试报告
1. 引言 1.1. 编写目的 HTML5 作为当前"最火"的跨平台.跨终端(硬件)开发语言,越来越受到前端开发者 的重视,无论是 PC 端还是当前"火热"的移 ...
- 关于Maven repository中pom.xml的jar包依赖
https://mvnrepository.com 该mvn网站可以找到个个版本的依赖jar包 http://doc.canglaoshi.org 该网站为达内的开发文档服务器,可以找到很多开发中需 ...
- Spring @Transaction 注解是如何执行事务的?
前言 相信小伙伴一定用过 @Transaction 注解,那 @Transaction 背后的秘密又知道多少呢? Spring 是如何开启事务的?又是如何进行提交事务和关闭事务的呢? 画图猜测 在开始 ...
- python之str 字符串
str,字符串,有序的,存储多个字符,不可修改,通过下标值访问快捷方式 1, 定义一个空字符串 2,定义一个非空字符串 3,索引,又名下标值 4,切片与延长 5,转义字符 6, python 属于面向 ...
- CRM系统用多种形式与客户无障碍沟通
当您与潜在客户.联系人交流,或者团队内部沟通时,是不是经常要在CRM系统和第三方应用之间来回切换,仅仅是为了打电话.开会等,简直不要太麻烦.而CRM客户管理系统与Zoho Meeting的集成,就能够 ...
- MIT6.828 Preemptive Multitasking(上)
Lab4 Preemptive Multitasking(上) PartA : 多处理器支持和协作多任务 在实验的这部分中,我们首先拓展jos使其运行在多处理器系统上,然后实现jos内核一些系统功能调 ...
- 学会这些CSS技巧让你写样式更加丝滑
目录 1,前言 1,calc() 2,min() 3,max() 4,clamp() 5,gap 6,writing-mode 1,前言 记录一些很好用的css属性 1,calc() calc()函数 ...
- CentOS-Docker搭建MinIO(单点)
下载镜像 $ docker pull minio/minio 创建相关目录 $ mkdir /home/minio/data /home/minio/config -p 运行镜像(自定义Access和 ...