jsonp解决ajax跨域问题!

利用jsonp解决ajax跨域问题:(至于success里面的操作可以忽略:)

某工程下ajax请求代码:

var isVisible = true;
	function getLog() {
		if(isVisible) {
			isVisible = false;
			//先删除数据 
			$(".table_tr").remove();
			$(".nav-content").html("");
			$("#nav-btn").html("");
			//显示页面的时候要添加数据 
			$.ajax({
				url : "http://192.168.1.103:8080/DataAcquisition/set/getlog", 
				type : "GET",
				async : false,
				data : "callback=?" + "&currentPageNum=" + 1, //随便加个callback参数,这里没有影响
				dataType: 'jsonp',  //类型
    			jsonp: 'callback', //jsonp回调参数,必需
				success : function(data) {
					 $.each(data.datas, function(index, TaskLog) {  
					 	$(".log_locate").append("<div class='table_tr'><div class='table_td'>"+ TaskLog.targetUrl+"</div><div class='table_td'>"+ TaskLog.captureSet + "</div><div class='table_td'>" + TaskLog.matName +"</div><div class='table_td'>" + TaskLog.date +"</div><div class='table_td'>10</div></div>");
               		 });  
               		 var startPage = data.startPage;
               		 var endPage = data.endPage;
               		 //拼接 导航 按钮 和 数据 总数 内容 
               		 $(".nav-content").append("当前共"+ data.totalPage +"页,每页最多"+ data.pageSize +"条记录");
               		 if(data.currentPageNum == 1) {
               		 	$("#nav-btn").append("<li><<</li>");
               		 	$("#nav-btn").append("<li><</li>");
               		 } else {
               		 	$("#nav-btn").append("<a href='javascript:void(0)' οnclick='changePage("+1+")'><li><<</li></a>");
               		 	$("#nav-btn").append("<a href='javascript:void(0)' οnclick='changePage("+ (data.currentPageNum-1) +")'><li><</li></a>");
               		 }
               		 
               		 
               		 for(var pageNum = startPage; pageNum <= endPage; pageNum++) {
               		 	//如果是当前的页数 ,添加 按钮背景 颜色 
               		 	if(pageNum == data.currentPageNum) {
               		 		$("#nav-btn").append("<a href='javascript:void(0)' οnclick='changePage("+pageNum+")'><li class='page-button-bg'>"+pageNum+"</li></a>");
               		 	} else {
               		 		$("#nav-btn").append("<a href='javascript:void(0)' οnclick='changePage("+pageNum+")'><li>"+pageNum+"</li></a>");
               		 	}
               		 }
               		 
               		 if(data.currentPageNum == data.totalPage) {
               		 	$("#nav-btn").append("<li>></li>");
               		 	$("#nav-btn").append("<li>>></li>");
               		 } else {
               		 	$("#nav-btn").append("<a href='javascript:void(0)' οnclick='changePage("+ (data.currentPageNum+1)+")'><li>></li></a>");
               		 	$("#nav-btn").append("<a href='javascript:void(0)' οnclick='changePage("+data.totalPage+")'><li>>></li></a>");
               		 }
                    		 
				},
				error : function() {
					alert("系统异常!");
				}
			});
			//显示页面 
			$(".show-log-table").css("visibility","visible");	
		} else {
			isVisible = true;
			$(".show-log-table").css("visibility","hidden");
		}
另一工程controller(这里使用的是spring mvc):

@RequestMapping(value="/getlog", method = RequestMethod.GET)
	public void getLog(PageBean<TaskLog> pageBean, HttpServletResponse response, String callback) throws IOException {
		PrintWriter out = response.getWriter();
		TaskLogDao taskLogDao = DaosFactory.getInstance().createDao("com.dataacquisition.dao.impl.TaskLogDaoImpl");
		PageBean<TaskLog> resultPageBean = taskLogDao.getPageBean(pageBean);
		//这里特别注意,格式需要严格遵守
		String resultJsonStr = callback + "(" + JSON.toJSONString(resultPageBean) + ");";
		out.write(resultJsonStr);
	}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值