Struts2的jsonp接口实例
2024-09-03 22:36:50
和以往写struts2程序一样,action方法跳转到一个JSP中,为了配合jsonp的跨域,要在JSP中做一个输出
JSP:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String jsoncallback = request.getParameter("callback");
String jsonResult = (String)request.getAttribute("jsonStr");
out.println("jsonpcallback("+jsonResult+")");
%>
其中jsonStr是从action层赋值号的,要传给接口的返回值
-------------------------------------------------------------------------------------------------------------
HTML:注意标红的地方!
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
</head>
<body>
<script language="javascript">
$.ajax({
type:"get",
dataType:"jsonp",
async:false,
url: "http://localhost:8080/myCwjm/searchJiemus.action",
jsonp:"jsonpcallback",
success: function(response){
}});
function jsonpcallback(response){
alert(response.cate1[0].jmLink);
}
</script>
</body>
</html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
</head>
<body>
<script language="javascript">
$.ajax({
type:"get",
dataType:"jsonp",
async:false,
url: "http://localhost:8080/myCwjm/searchJiemus.action",
jsonp:"jsonpcallback",
success: function(response){
}});
function jsonpcallback(response){
alert(response.cate1[0].jmLink);
}
</script>
</body>
</html>
也可以在地址栏里直接输入:http://localhost:8080/myCwjm/searchJiemus.action?callback=jsonpCallback
会得到:jsonpcallback({"cate1":[{"jmCate":1,"jmId":1,"jmLink":"http://tv.brtn.cn /20141207/VIDE1417965266460208.shtml","jmName":"和田玉"}, {"jmCate":1,"jmId":2,"jmLink":"http://finance.brtn.cn/20141204 /VIDE1417670950360636.shtml","jmName":"红宝石"}],"cate2": [{"jmCate":2,"jmId":3,"jmLink":"http://finance.brtn.cn/20141128 /VIDE1417156870992643.shtml","jmName":"玛瑙"}, {"jmCate":2,"jmId":4,"jmLink":"http://finance.brtn.cn/20141120 /VIDE1416466960642254.shtml","jmName":"翡翠"}],"cate3":[],"cate4": [],"cate5":[],"cate6":[],"cate7":[],"cate8":[],"cate9":[],"cate10":[],"cate11":[],"cate12":[]})
这样一个json串
最新文章
- SVN使用_获取某版本后改动的文件列表
- 使用dojoConfig配置dojo(翻译)
- Win10开始菜单打不开?两个办法可破
- ubuntu下安装gradle
- ubuntu下,apt的参数使用,很实用呦
- iOS多线程的初步研究(九)-- dispatch源
- How to install ruby on mac/ change ruby source in china
- 1、创建一个JPA project(解决“at least one user library must be selected”问题)
- php有些系统会报错或提示 Cannot modify header information - headers already sent by
- 【BZOJ1030】文本生成器
- 动态规划——H 最少回文串
- [工作] 使在家办公(Work From Home)更有效率的建议
- mysql-5.6.17-winx64 免安装 配置
- DDD,ORM还是Ado.Net
- redhat5安装phantomjs
- 安卓开发中Spinner控件的使用
- PJSUA2开发文档--第五章 帐户(号)Accounts
- 读取HTML文件进行格式化解析
- 小话C源码移植
- 开源.NET界面库
热门文章
- 从一次解决Nancy参数绑定“bug”开始发布自己的第一个nuget包(上篇)
- pipeline input步骤
- [BUUCTF]PWN11——get_started_3dsctf_2016
- Java 自定义注解在登录验证的应用
- LuoguP3880 [JLOI2008]提示问题 题解
- LuoguP6850 NOI 题解
- django - Templates模板嵌套语法
- springboot使用线程池(ThreadPoolTaskExecutor)
- centos使用shell脚本定时备份docker中的mysql数据库
- Flex布局的详细总结