`

getJSON解决 跨域问题例子

 
阅读更多
前台:
$.getJSON("http://www.xiangan.gov.cn:8082/xahd/common/jdbcPage.as?jsoncallback=?"
				,{"_in":"letter@603","pageSize":"1","deptId":"24","isPub":"0"},function(data){
				//alert(data);
				//alert(data.result[1].page.pageSize);
				var jsonData = data;//eval('('+ data +')');//把json字将符串 转换成json对象,方便js使用
				var tpl = document.getElementById('templatelist').innerHTML;
				var html='';
       			var result = jsonData.result[0];
				if(jsonData.result[0].data !=''){	
					html = juicer(tpl, jsonData.result[0]);//用模板引擎得到的数据行,样式可以在模板调试
					//alert(html);
				}
				var page = jsonData.result[1].page;
				pg = new showPages((page.totalRecord+'' == "" ? 0 : page.totalRecord+''), page.totalPage+'', page.pageNo+'', '','', page.pageSize);
       			var pageText = pg.createDivHtml(0);
       			$("#pageTD").append(pageText);
				$("#tabTemp").append(html);//将拼接好的html直接追加在后面



java后台:
@Override
	public void searchPageDataForList(Page page) throws Exception{
		String pageSize = paraPool.get("pageSize");
		String pageNo = paraPool.get("currpage");
		String isPub = paraPool.get("isPub");
		if(pageSize == null || "".equals(pageSize))//每页多少条
			pageSize = "20";
		if(pageNo == null || "".equals(pageNo))//当前页数
			pageNo = "1";
		if(isPub == null || "".equals(isPub))//是否发布,默认需要发布的数据
			isPub = "1";
		page.setPageNo(Integer.valueOf(pageNo));
		page.setPageSize(Integer.valueOf(pageSize));
		String deptId = paraPool.get("deptId");
		if(deptId == null || "".equals(deptId))
			throw new HBusinessException("部门ID不能为空!");
		
		String sql = "select a.* from hdzx_letter a,hdzx_leader b where  a.c_leaderId=b.c_id ";
		sql +=" and a.c_isPublished="+isPub+" and b.c_lettertypeid="+Leader.LETTERTYPE.BM;
		sql +=" and a.c_hasdelete <> 1 and a.c_changeDeptId="+deptId;
		List<Map<String,String>> list = jdbc.search(sql,page," c_createtime desc");
		for(Map<String,String> map : list){
			String createtime = map.get("createtime");
			String replytime = map.get("replytime");
			String letterstatusid = map.get("letterstatusid");
			String changedeptid = map.get("changedeptid");
			String requestpurposeid = map.get("requestpurposeid");
			String purposename = "";
			List<Dictionary> dicList = UCache.getDicPool().get("LETTERAIM");
			for(Dictionary dic : dicList){
				if(requestpurposeid.equals(dic.getId()+"")){
					purposename = dic.getName();
					break;
				}
			}
			String deptname = UTagFunction.getDeptName(Long.valueOf(changedeptid));
			createtime = UTagFunction.formatStr2DateStr(createtime, "yyyy-MM-dd");
			replytime = UTagFunction.formatStr2DateStr(replytime, "yyyy-MM-dd");
			String letterstatusname = letterstatusid.equals(Letter.LETTER_STATUS.HAS_REPLY+"")?"已答复":"处理中";
			map.put("createtime", createtime);
			map.put("replytime", replytime);
			map.put("letterstatusname", letterstatusname);
			map.put("deptname", deptname);
			map.put("purposename", purposename);
		}
		String json = OrgUtil.buildToJsonData(list);
		String pageJson = OrgUtil.buildToJsonData(page);
		String jsoncallback = paraPool.get("jsoncallback");
		json = "{'result':[{'data':"+json+"},{'page':"+pageJson+"}]}";
		json = jsoncallback+"("+json+")";		System.out.println("jsoncallback=="+jsoncallback);
		System.out.println(json);
		HttpServletResponse res = ServletActionContext.getResponse();
		OutputStream os = res.getOutputStream();
		os.write(json.getBytes("utf-8"));
		os.flush();
		os.close();
	}



附上一个小项目,把他部署到其他域名下,一个是用来测试调用的的,注意细节


可以参考一下网站:http://hi.baidu.com/html5css3/item/7d25060f6d749decf55ba640
分享到:
评论

相关推荐

    解决JQurey跨域问题$.get|$.post|$.getJSON等等统统可跨域

    本篇将详细介绍如何解决jQuery跨域问题,涉及的方法包括$.get、$.post和$.getJSON等。 首先,我们需要理解什么是跨域。同源策略是浏览器为保障安全而实施的一项机制,它规定JavaScript只能访问与当前页面同源(协议...

    用JQuery里的getJSON函数进行跨域远程调用

    这是一个前端后端通过JQuery的getJSON函数交互json数据的例子。 前端网页是front.html,后端处理的模块是back.jsp 把back.jsp、front.html及jquery-1.8.3.min.js部署在Tomcat的webapps的ROOT下,通过在浏览器输入...

    php版 解决跨域问题CORS ajax+get,post+jsonp例子源代码.zip

    JSONP(JSON with Padding)是另一种解决跨域的古老方法,尤其适用于不支持CORS的老旧浏览器。JSONP的基本原理是利用`&lt;script&gt;`标签不受同源策略限制的特性,通过动态创建`&lt;script&gt;`标签来请求数据。服务器返回的...

    Java web ajax-getjson跨域操作.docx

    本示例通过AJAX和getJSON方法在Java Web环境下实现跨域数据获取。 首先,JSP页面中引入了jQuery库,这是因为jQuery简化了AJAX操作。页面中定义了一个按钮(`#btn_id`),当点击该按钮时,会触发一个JavaScript函数...

    使用$.getJSON实现跨域ajax请求示例代码

    例如,以下是一个简单的使用 $.getJSON 进行跨域请求的例子: 服务器端(如 PHP): ```php // 假设这是服务器返回的 PHP 文件,返回 JSON 数据 $arr = array("name" =&gt; "zhangsan", "age" =&gt; 20); $jarr = json_...

    jquery $.getJSON()跨域请求

    ### jQuery $.getJSON() 跨域请求知识点总结 #### 跨域请求基础 在Web开发中,跨域请求是一个非常常见的问题,它的本质是浏览器的同源策略。同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源...

    Jquery跨域Json请求处理

    下面通过一个具体的例子来说明如何使用JQuery处理跨域JSON请求: 假设我们有一个API,其返回的数据如下: ```json { "success": [ {"id": 1, "title": "title1"}, {"id": 2, "title": "title2"}, {"id": 3, ...

    showModalDialog跨域解决例子

    2. **JSONP(JSON with Padding)**:这是一种较旧的跨域解决方案,适用于只支持GET请求的情况。JSONP依赖于动态插入`&lt;script&gt;`标签,通过回调函数接收服务器返回的JSON数据。由于`&lt;script&gt;`标签不受同源策略限制,...

    Jquery getJson

    `jQuery.getJSON`也支持JSONP(JSON with Padding),这是一种跨域数据获取的策略。通过动态创建`&lt;script&gt;`标签,将回调函数名作为参数传递给服务器,服务器返回的JSON数据包裹在该回调函数中,从而实现跨域数据交换...

    java版 解决跨域问题CORS ajax+jsonp例子源代码.zip

    标题中的“java版 解决跨域问题CORS ajax+jsonp例子源代码.zip”指的是一个Java Web应用程序,它演示了如何处理跨域问题,主要通过两种方法:CORS(跨源资源共享)和JSONP(JSON with Padding)。这个压缩包包含了...

    解决ajax跨域问题

    JSONP(JSON with Padding)是一种常用的解决跨域问题的方法。它利用了`&lt;script&gt;`标签不受同源策略限制的特点来实现跨域数据传输。JSONP的核心思想是动态插入一个`&lt;script&gt;`标签,并设置其`src`属性为目标服务器的...

    jquery的ajax和getJson跨域获取json数据的实现方法

    本文主要介绍两种在使用jQuery进行跨域获取json数据时的实现方法,即通过jQuery的ajax和getJson方法配合JSONP(JSON with Padding)技术来实现跨域数据的获取。 首先,关于jQuery的ajax和getJson方法。ajax是...

    JQuery getJSON() 调用Servlet简单例子

    在这个例子中,我们将深入探讨如何使用jQuery的`getJSON()`函数与Servlet进行交互。 首先,我们来看`getJSON()`的基本用法。`getJSON()`接收三个参数:URL,数据(可选),以及一个回调函数。当服务器返回JSON数据...

    js json ajax jsp 跨域訪問的例子

    "js json ajax jsp 跨域訪問的例子"这个主题涉及到JavaScript、JSON、AJAX以及JSP等关键技术,它们在处理跨域问题时各自扮演着重要角色。下面我们将详细探讨这些技术及其在跨域访问中的应用。 首先,JavaScript(JS...

    js+jsp+json+tomcat跨域访问

    在处理跨域请求时,jQuery提供了$.ajax()或$.getJSON()等函数,使得跨域AJAX请求变得简单。 接下来,我们将探讨如何实现js+jsp+json+tomcat的跨域访问。 1. **jQuery的JSONP(JSON with Padding)** JSONP是一种...

    通过jquery的$.getJSON做一个跨域ajax请求试验

    在本文中,我们将探讨如何使用jQuery的`$.getJSON`方法进行跨域Ajax请求,并通过一个简单的预约登记接口的示例来展示其实现过程。首先,理解`$.getJSON`是jQuery库提供的一个便捷方法,用于异步获取JSON格式的数据,...

    跨域的三个html例子

    2. **JSONP(JSON with Padding)**:这是一种较老的跨域方式,适用于只支持GET请求的API。它通过动态创建`&lt;script&gt;`标签,利用`src`属性加载一个返回JavaScript代码的URL,该代码通常是一个函数调用,带有请求的...

    phpcms调用getJSON无法返回json数据的解决方法

    在这个例子中,前端向`public_mobile_getjson_ids`这个公开的函数发送请求,获取处理后的JSON数据。当服务器正确响应并返回JSON时,`getJSON`的回调函数会接收到数据,并进行进一步处理。 在phpcms中,为了确保安全...

Global site tag (gtag.js) - Google Analytics