只有代码:
下面是页面端代码:
<!-- 两个不同的项目A和B,下面的例子是项目请求A的页面---请求---项目B的数据 -->
<!-- 默认回掉函数callback ,默认情况下它的值会在发出请求时自动生成 -->
项目A页面js请求:
$.ajax({
type : 'GET',
contentType:'application/jsonp',
url:"http://localhost:8080/sms-server/activity/getDetActLiInf?accessKeyId=1&accessKeySecret=2&page=3&activityId=4",
dataType:'jsonp',
data:'',
async: false,
jsonp:'callback',
success:function(result) {
alert(JSON.stringify(result));
},
error:function(){
alert('fail');
}
});
});
<!-- JSONP只支持get请求 -->
<!--请求路径 url中
接口:http://localhost:8080/sms-server/activity/getDetActLiInf
参数 : ?accessKeyId=1&accessKeySecret=2&page=3&activityId=4" -->
<!-- callback是回调函数,请求成功执行success,失败执行error -->
下面是java代码:项目B接口:
/**
* 获得活动列表接口
* @param request 请求路径格式
* ...sms-server/activity/getActLiInf?callback=?&accessKeyId=?&accessKeySecret=?&page=?&size=?&status=?
* @param callback JSONP回掉函数
* @param accessKeyId,密钥Id
* @param accessKeySecret,密钥密码
* @param page,当前页数,默认为1
* @param size,每页条数,默认为20
* @param status,活动状态,0--未开始,1--进行中,2--已结束 默认为全部
*
*/
@ResponseBody
@RequestMapping(value="/getActLiInf",method=RequestMethod.GET)
public JSONPObject getActListInterface(HttpServletRequest request,
@RequestParam String callback,@RequestParam String accessKeyId,
@RequestParam String accessKeySecret,@RequestParam int status,
@RequestParam int page,@RequestParam int size) {
ResultCode resultCode=ResultCode.SUCCEED;
Map<String,Object> mapResponse = new HashMap<String,Object>();
Object result = null;
try {
ParamChecker.notEmpty("accessKeyId", accessKeyId);
ParamChecker.notEmpty("accessKeySecret", accessKeySecret);
Company company=companyService.getCompanyByAccessKeyId(accessKeyId);
if(!company.getAccessKeySecret().equals(accessKeySecret)){
resultCode = ResultCode.INTERNAL_ERROR;
result+="鉴权失败";
throw new UnAuthedException("鉴权失败");
}
List<String> enIPList = ipBlackListService.getEnIPList();
String ip = request.getRemoteAddr();
if(!enIPList.contains(ip)){
resultCode = ResultCode.INTERNAL_ERROR;
result+="ip拒绝访问";
throw new UnAuthedException("拒绝访问");
}
if(String.valueOf(page)==null||page<=0){
page=1;
}
if(String.valueOf(size)!=null&&size<=0){
size=20;
}
if(String.valueOf(status)!=null&&status<=-1&&status>2){
status=-1;
}
PageInfo<PageActivity> pageInfo =pageActService.
getPageActListByCondition(company.getId(),status,page,size);
List<Company> companys=companyService.getCompany();
Map<String,Object> mapAct = new HashMap<String,Object>();
mapAct.put("pageInfo", pageInfo);
mapAct.put("companys", companys);
result=mapAct;
} catch (VerifyException e) {
resultCode = ResultCode.INTERNAL_ERROR;
result = e.getMessage();
}
mapResponse.put("resultCode", resultCode);
mapResponse.put("result", result);
return new JSONPObject(callback,mapResponse) ;
}
<!-- 注意@ResponseBody @RequestMapping callback(默认) 和返回格式JSONPObject -->
172

被折叠的 条评论
为什么被折叠?



