`
流浪鱼
  • 浏览: 1682144 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js跨域访问数据

    博客分类:
  • 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;
	}
 

 

 

 

 

分享到:
评论

相关推荐

    跨域访问数据-DEMO

    跨域访问数据是Web开发中的一个关键概念,特别是在构建分布式应用程序和API接口时。这个"跨域访问数据-DEMO"可能是一个示例项目,旨在演示如何在浏览器环境中跨越源限制,即同源策略,来获取JSON或XML数据。下面我们...

    js跨域访问后台

    根据提供的文件信息,本文将详细解释“JS跨域访问后台”的相关知识点,包括跨域的基本概念、实现方式以及具体的代码示例。 ### 跨域基本概念 在浏览器中,为了安全考虑,存在一种称为“同源策略”的机制。简单来说...

    JS跨域访问解决方案总结[参照].pdf

    JS 跨域访问解决方案总结 JS 跨域访问解决方案总结是指在不同域名站点之间进行资源访问的解决方案。默认情况下,脚本访问文档属性等数据采用的是同源策略(Same origin policy),即如果两个页面的协议、域名和端口...

    js+jsp+json+tomcat跨域访问

    在跨域访问中,JSON通常作为数据传输的载体,因为它可以被JavaScript轻松处理。 jQuery是一个流行的JavaScript库,它简化了DOM操作、事件处理、动画效果以及Ajax交互等任务。在处理跨域请求时,jQuery提供了$.ajax...

    解决JS跨域访问IFrame的解决方案

    "解决JS跨域访问IFrame的解决方案"这一主题关注的就是如何克服这个限制,使得在JSP页面中嵌入的跨域IFrame能够正常通信。下面我们将详细探讨这个问题以及可能的解决方案。 首先,理解同源策略是关键。同源策略是...

    Javascript跨域访问解决方案

    JavaScript跨域访问解决方案 在Web开发中,JavaScript的同源策略是浏览器为了保障用户安全而实施的一项重要机制。它限制了脚本只能访问与当前页面具有相同协议(如http或https)、主机名和端口号的资源。然而,在...

    js解决跨域访问问题

    ### JS解决跨域访问问题详解 #### 一、引言 在现代Web开发中,跨域访问问题是开发者经常面临的一个挑战。特别是在使用JavaScript进行前后端交互时,由于浏览器的同源策略限制,开发者经常会遇到跨域问题。本文将...

    JS跨域访问解决方案总结

    JavaScript跨域访问解决方案 在Web开发中,由于浏览器的安全策略——同源策略(Same Origin Policy),不同源的脚本之间无法直接通信或访问彼此的资源。同源策略规定,只有当两个URL的协议、域名和端口都相同时,...

    JS跨域访问解决方案的总结.doc

    JavaScript跨域访问解决方案 在Web开发中,由于同源策略的限制,JavaScript通常只能与同一协议、域名和端口的服务器进行通信。然而,随着Web应用程序的复杂性和交互性增加,跨域请求变得越来越普遍,比如加载外部...

    pdf.js 跨域版本

    跨域问题通常在 JavaScript 中是个常见的安全限制,浏览器不允许脚本从一个源(域名、协议或端口)请求另一个源的资源,以防止恶意网站通过脚本读取其他网站的数据。在 PDF.js 原版中,如果 PDF 文件存储在与网页...

    asp.net结合html,javascript实现无刷新跨域数据提交

    在IE浏览器中,对于跨域访问的处理是弹出警告框,提醒用户。如果用户将该网站纳入可信任网站,或者调低安全级别,那么这个问题IE就不会再提醒你。在FireFox浏览器中,对于跨域访问的处理是直接拒绝访问。 使用ASP...

    ajax跨域获取数据

    服务器通过设置Access-Control-Allow-Origin响应头,允许特定或所有来源的请求进行跨域访问。CORS支持多种HTTP方法,包括GET、POST、PUT等,并可以处理响应头和状态码,提供更全面的控制。 4. Ajax与XMLHttpRequest...

    js 跨域取数据

    JavaScript跨域获取数据是Web开发中的一个重要概念,由于浏览器的安全策略,JavaScript通常被限制在同一源策略下运行,这意味着它不能直接请求与当前页面不同源(协议、域名或端口)的资源。为了解决这个问题,...

    服务器端用可控js跨域访问

    文章标题“服务器端用可控js跨域访问”与描述中的重复内容,实际上指出了一个关键的技术点:如何在不违反同源策略的情况下,使用JavaScript进行跨域数据请求。 ### 同源策略 同源策略(Same-origin policy)是...

    javascript/jquery 跨域访问

    标题“javascript/jquery 跨域访问”指的是如何利用JavaScript和jQuery库克服浏览器的同源策略限制,实现在不同源之间进行数据交互。以下是对这一主题的详细阐述: 1. **同源策略**:同源策略是浏览器实施的一项...

    js_跨域访问[参照].pdf

    JavaScript跨域问题主要源于浏览器的同源策略,这是一种安全机制,用于防止恶意脚本通过一个网站获取另一个网站的数据,从而保护用户信息安全。当一个网页尝试使用Ajax(Asynchronous JavaScript and XML,异步...

    链接修改及跨域访问的问题

    在IT领域,尤其是在Web开发中,跨域访问是一个常见的问题,因为浏览器的同源策略(Same-Origin Policy)限制了JavaScript从一个源获取资源到另一个源的能力。为了在不同软件系统间实现跨域通信,开发者需要采取一些...

Global site tag (gtag.js) - Google Analytics