jquery的jsonp相关
<!DOCTYPE html>
<html>
<head >
<meta charset="utf-8">
<script src="../../js/jquery-1.9.1.min.js"></script>
<script src="../../js/highmaps/highmaps.js"></script>
<script src="../../js/highmaps/drilldown.js"></script>
<script src="../../js/highmaps/exporting.js"></script>
</head> <body>
<!--<div id="container" style="height:450px;"></div>-->
<script type="text/javascript"> Highcharts.setOptions({
lang: {
drillUpText: '< 返回 “{series.name}”'
}
});
var map = null,
// geochina = 'https://data.jianshukeji.com/jsonp?filename=geochina/';
// $.getJSON(geochina + 'china.json&callback=?', function(mapdata) {//中国//https://jshare.com.cn/highmaps/FSSm7A //https://data.jianshukeji.com/
// geochina = 'http://192.168.0.62:8082/';
geochina = 'http://192.168.0.62:8082/jsonp/geo?filename=';
$.getJSON(geochina + 'zhejiang.json&callback=?', function(mapdata) {//浙江
//地图数据 https://data.jianshukeji.com/jsonp?filename=geochina/zhejiang/hangzhou.json
//地图数据 https://data.jianshukeji.com/jsonp?filename=geochina/zhejiang.json
var data = [];
// 随机数据
Highcharts.each(mapdata.features, function(md, index) {
var tmp = {
name: md.properties.name,
value: Math.floor((Math.random() * 100) + 1) // 生成 1 ~ 100 随机值
};
if(md.properties.drilldown) {
tmp.drilldown = md.properties.drilldown;
}
data.push(tmp);
});
map = new Highcharts.Map('container', {
chart: {
events: {
drilldown: function(e) {
this.tooltip.hide();
console.log(e);
// 异步下钻
if (e.point.drilldown) {
var pointName = e.point.properties.fullname;
map.showLoading('下钻中,请稍后...');
// 获取二级行政地区数据并更新图表
console.dir(geochina);
$.getJSON(geochina + e.point.drilldown + '.json&callback=?', function(data) {
// $.getJSON(url, function(data) {
data = Highcharts.geojson(data);
Highcharts.each(data, function(d) {
if(d.properties.drilldown) {
d.drilldown = d.properties.drilldown;
}
d.value = Math.floor((Math.random() * 100) + 1); // 生成 1 ~ 100 随机值
});
map.hideLoading();
map.addSeriesAsDrilldown(e.point, {
name: e.point.name,
data: data,
dataLabels: {
enabled: true,
format: '{point.name}'
}
});
map.setTitle({
text: pointName
});
});
}
},
drillup: function() {
map.setTitle({
text: '浙江省'
});
}
}
},
title: {
text: '浙江省'
},
subtitle: {
useHTML: true,
// text: '点击查看 <a href="https://www.hcharts.cn/mapdata" target="_blank">地图数据及详情</a>,注意县级数据为收费数据,如果您有需要,请 <a href="https://highcharts.com.cn/data" target="_blank">联系我们购买</a>'
},
mapNavigation: {
enabled: true,
buttonOptions: {
verticalAlign: 'bottom'
}
},
tooltip: {
useHTML: true,
headerFormat: '<table><tr><td>{point.name}</td></tr>',
pointFormat: '<tr><td>全称</td><td>{point.properties.fullname}</td></tr>' +
'<tr><td>行政编号</td><td>{point.properties.areacode}</td></tr>' +
'<tr><td>父级</td><td>{point.properties.parent}</td></tr>' +
'<tr><td>经纬度</td><td>{point.properties.longitude},{point.properties.latitude}</td></tr>' ,
footerFormat: '</table>'
},
// colorAxis: {
// min: 0,
// minColor: '#fff',
// maxColor: '#006cee',
// labels:{
// style:{
// "color":"red","fontWeight":"bold"
// }
// }
// },
series: [{
data: data,
mapData: mapdata,
joinBy: 'name',
name: '浙江省',
states: {
hover: {
color: '#a4edba'
}
}
}]
});
});
</script>
<div id="container" style="height:850px;"></div> </body>
</html> 、、、、、、、、、、、、、、、、、、、、、 后端:
package com.hzunitech.platform.mvc.jsonp; import com.hzunitech.platform.annotation.Controller;
import com.hzunitech.platform.mvc.base.BaseController;
import com.jfinal.log.Log; @Controller("/jsonp")
public class JsonpController extends BaseController { @SuppressWarnings("unused")
private static final Log log = Log.getLog(JsonpController.class); public void index() {
// 客户端请求参数,js函数名称
String jsonpCallback = getPara("callback"); // json数据
String json = "{'content':'我是远程b.com/remote.js带来的数据'}"; // 返回jsonp格式数据
//jquery定义了名为jsonpCallback的js函数,在渲染返回的javascript text时执行了该函数,并将数据结果作为参数传入该js函数
renderJavascript(jsonpCallback + "(" + json + ");");
} public void geo() {
// 客户端请求参数,js函数名称
String jsonpCallback = getPara("callback");
log.info(jsonpCallback);
System.out.println(jsonpCallback); // json数据
String json = "{'content':'我是远程b.com/remote.js带来的数据'}"; // 返回jsonp格式数据
renderJavascript(jsonpCallback + "(" + json + ");");
} }
jquery的jsonp相关的更多相关文章
- jquery之jsonp相关知识
这里讲的不错,可以参考:链接 我自己的理解: 服务器为了保证数据的安全,同时也为了保证不被攻击, 凡是来服务器请求的url,域名必须和服务器一致,否则就是跨域请求 为了解决跨域问题,就出现了jsonp ...
- 使用springMVC和Jquery实现JSONP
JSONP这个东东是啥我就不写了,直接贴实现的代码 JAVA代码: /** * * 查询用户是否已经提交认证获取已经是认证会员 * * 使用spring mvc的直接返回string会遇到分号转义后字 ...
- jQuery处理JSONP
http://www.g7blogs.com/?p=821 作为一枚前端,提起jsonp大家都不会陌生.特别是在我们组内的业务中,和服务器端交互的数据几乎都是采用这种形式.但假如要让你用原生的JS写出 ...
- jQuery 调用jsonp实现与原理
jQuery 调用jsonp实现与原理 您的评价: 收藏该经验 阅读目录 1.客户端代码 2.服务器端 通过jQuery实现JSONP 一般的ajax是不能跨域请求的,因此需要使 ...
- jQuery的jsonp跨域是这么回事.
实现跨域请求的有iframe,img,script中的src属性.那么jquery是如何解决跨域请求的呢? 一:项目jsonp2中有个app.js文件,代码如下: function app(json) ...
- jquery ajax jsonp跨域调用实例代码
今天研究了AJAX使用JSONP进行跨域调用的方法,发现使用GET方式和POST方式都可以进行跨域调用,这里简单分享下,方便需要的朋友 客户端代码 复制代码 代码如下: <%@ Page Lan ...
- 基于jQuery的Jsonp跨域[Get方式]
由于目前的项目需要无刷新的跨域操作数据,整理了下自己使用的基于jQuery的Jsonp跨域[Get方式]. 代码如下: Javascript部分 $(function(){ $.ajax({ asyn ...
- jQuery中jsonp函数实现
由于浏览器中的同源策略,不同的域名,不同的协议,甚至不同的端口都无法请求数据.因此出现了浏览器跨域请求数据问题. Jsonp是解决跨域问题的一个非常流行的方法. JSONP(JSON with Pad ...
- C# WebClient、jQuery ajax jsonp实现跨域
WebClient 无传输数据获取 Uri uri = new Uri(allURL); WebClient wc = new WebClient(); wc.Encoding = System.Te ...
随机推荐
- <转>LuaTinker的bug和缺陷
LuaTinker的bug和缺陷 LuaTinker是一套还不错的C++代码和Lua代码的绑定库,作者是韩国人Kwon-il Lee,作者应该是参考了LuaBind后,为了简化和避免过重而实现的.其官 ...
- Vue基础及脚手架环境搭建
From:http://www.jianshu.com/p/dc5057e7ad0d 一.vue基础 “Vue2.0”跟俺一起全面入坑 01 “Vue2.0”跟俺一起全面入坑 02 “Vue2.0”跟 ...
- NPOI(2.1.3)向excel中插入图片,xls文档图片插入成功,xlsx文档图片插入失败
众所周知,NPOI对xls和xlsx两个版本的excel文档的操作并没有一个统一的支持, 程序若想兼容这两个版本的操作,必须根据excel版本分别去调用HSSF和XSSF这两套操作库, 之前一直不明白 ...
- STL 容器(vector 和 list )
1.这个容器的知识点比较杂 迭代器的理解: 1.erase()函数的返回值,它的迭代器在循环遍历中的奇特之处: #define _CRT_SECURE_NO_WARNINGS #include < ...
- xgboost 自定义目标函数和评估函数
https://zhpmatrix.github.io/2017/06/29/custom-xgboost/ https://www.cnblogs.com/silence-gtx/p/5812012 ...
- Groovy小结:java调用Groovy方法并传递参数
Groovy小结:java调用Groovy方法并传递参数 @(JAVA总结) 1. 场景描述 在网上查了资料发现,java有三种方式调用groovy脚本.但是真正在实际的服务器环境中,嵌入groovy ...
- 使用intelliJ IDE开发java web项目
<!-- spring版本号 --> <spring.version>4.3.0.RELEASE</spring.version> <!-- mybatis版 ...
- freeswitch 音 视频 支持的编码
FreeSWITCH 支持很多的语音编解码:[13] PCMU – G.711 µ-law PCMA – G.711 A-law G.722 G.722.1 G.722.1c G.726 G.726 ...
- Java并发编程(二):JAVA内存模型与同步规则
一.Java内存模型(JMM) 它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式.一个线程如何和何时能看到其他线程共享变量的值,以及在 ...
- Hadoop-2.4.0分布式安装手冊
文件夹 文件夹 1 1. 前言 2 2. 部署 2 2.1. 机器列表 2 2.2. 主机名 2 2.2.1. 暂时改动主机名 3 2.2.2. 永久改动主机名 3 2.3. 免password登录范 ...