js跨域访问数据

我们在做项目的时候会出现访问其他网站的数据,即所谓的跨域访问数据。下面的代码是跨域访问数据的例子

 

 <script type="text/javascript">
		/*通过getJSON方法取域数据
		var json_att = "http://api.flickr.com/services/feeds/photos_public.gne?tags=car&tagmode=any&format=json&jsoncallback=?";

		$.getJSON(json_att,function(data){
			$.each(data.items,function(i,item){
				$("<img class='para'/>").attr("src",item.media.m).appendTo("#resText");
			})
		});
		*/
		/**/var ajax_att = "http://api.flickr.com/services/feeds/photos_public.gne"
			$.ajax({
				   //type: "GET",
				   //async:'false',
				   contentType: "application/json; charset=utf-8",
				   url: ajax_att,
				   dataType:'jsonp',
				   jsonp:'jsoncallback',
				   data: {"tags":"car","tagmode":"any","format":"json"},
				   success: function(data){
					$.each(data.items,function(i,item){
						$("<img class='para'/>").attr("src",item.media.m).appendTo("#resText");
					})
				   }
				});
		
	</script>

 

注意后台放回代码的为:

String jsoncallback = Struts2Utils.getRequest().getParameter("jsoncallback");
Struts2Utils.getResponse().setContentType("application/html;charset=UTF-8");
JSONObject jobj = new JSONObject();
String jb = StrUtil.doNull(jsoncallback);
String oi = StrUtil.doNull(objId);
String ot = StrUtil.doNull(objType);
String so = StrUtil.doNull(som).toUpperCase();
if(StrUtil.isEmptyWithTrim(oi)||StrUtil.isEmptyWithTrim(ot)){
	jobj.put("flag", "false");
	jobj.put("msg", "缺少必要的参数!!");
	if(StrUtil.isEmptyWithTrim(jb)){
		Struts2Utils.getResponse().getWriter().print(jobj.toString());
	}else{
		Struts2Utils.getResponse().getWriter().print(jb+"("+jobj.toString()+")");
	}
}

 关键注意:

 

String jsoncallback = Struts2Utils.getRequest().getParameter("jsoncallback");

 

Struts2Utils.getResponse().getWriter().print(jb+"("+jobj.toString()+")");

 

不在同一个域时iframe的问题

protected String showOkDomain(Object msg)throws IOException{
		JSONObject   jvo = new  JSONObject();
		StringBuffer sb = new StringBuffer("<script>document.domain='test.com';</script>");
		jvo.put("isok", "T");
		jvo.put("msg", msg);
		sb.append(jvo);
		Struts2Utils.getResponse().setContentType("text/html;charset=UTF-8");
		Struts2Utils.getResponse().getWriter().write(sb.toString());
		return null;
	}
 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值