jQuery $.getJSON 跨域
1楼
sunge
发表于:2009-8-12 12:09:43
由于Javascript
的安全机制,脚本是不允许跨域的
(
安全的问题,浏览器默认是不支持跨域调用的
)
。后来出现了一种叫
JSON with Padding
的技术,简称
JSONP
.(原理参考
http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/
),应用
JSONP
可以实现
JSON
数据的跨域调用,
jQuery
的
getJSON
放在
1.2
版本中已经能够跨域获取数据了。
客户端:
<script type="text/javascript">
jQuery.getJSON("http://192.168.20.86/friend/getMyJsonData.jsp?jsoncallback=?", function(data) {
alert(data.name);
});
</script>
服务端:
<%@ page import="org.json.*"%>
String jsoncallback = request.getParameter("jsoncallback");
Map map = new LinkedHashMap();
... ...
map.put("groups", object);
out.println(jsoncallback+"("+new JSONObject(map).toString()+")");
注意:
1,
这里调用的地址中jsoncallback=?
是关键的所在!其中,符号会被
Query
自动替换成其他的回调方法的名称,具体过程和原理我们这里不理会。我们关心的是
jsoncallback=?
起什么作用了?原来
jsoncallback=?
被替换后,会把方法名称传给服务器。我们在服务器端要做什么工作呢?服务器要接受参数
jsoncallback
,然后把
jsoncallback
的值作为
JSON
数据方法名称返回
.
2,
服务器段把jsoncallback
的值作为方法名传回来
.
3,
输出json
数据时候
{
之前的是
(
分享到:
相关推荐
本篇将详细介绍如何解决jQuery跨域问题,涉及的方法包括$.get、$.post和$.getJSON等。 首先,我们需要理解什么是跨域。同源策略是浏览器为保障安全而实施的一项机制,它规定JavaScript只能访问与当前页面同源(协议...
本篇文章将深入探讨jQuery中的异步调用方法,包括`$.ajax()`,`$.post()`和`$.get()`,以及它们在实际开发中的应用。 首先,`$.ajax()`是jQuery提供的最强大的异步数据请求函数,它支持多种HTTP请求方法,如GET、...
在本文中,我们将深入了解jQuery中的$.get()方法,这是jQuery提供的一种用于从服务器文件载入数据的便捷方式。通过$.get()方法,可以快速的执行一个AJAX HTTP GET请求,这是一种无需页面重新加载即可从服务器获取...
$(function(){ $.getJSON(url,function(data){ alert (data.Name); }) }); 服务器返回字符串: {“Name”:”loogn”,”Age”:23} 2,不同域名下 js: 代码如下: var url=”...
在jQuery库中,$.post, $.get和$.getJSON是用于执行AJAX(Asynchronous JavaScript and XML)请求的三种主要方法,这些方法使得前端与后端服务器进行异步数据交互成为可能,无需刷新整个页面。接下来,我们将详细...
原生JavaScript实现jQuery的$.getJSON方法的知识点涵盖以下几个重要方面: 1. $.getJSON方法的作用: $.getJSON是jQuery库提供的一个方法,用于简化JSON数据的异步获取过程。它是一个便捷的AJAX方法,通常用于发送...
在本文中,我们将探讨如何使用jQuery的`$.getJSON`方法进行跨域Ajax请求,并通过一个简单的预约登记接口的示例来展示其实现过程。首先,理解`$.getJSON`是jQuery库提供的一个便捷方法,用于异步获取JSON格式的数据,...
$.getJSON 是 jQuery 提供的一种 AJAX 方法,用于向服务器请求 JSON 数据并在数据加载成功后执行回调函数。这个方法特别适用于跨域请求,因为 JSONP(JSON with Padding)协议允许绕过同源策略,使得 JavaScript ...
本篇文章将详细讲解如何利用jQuery的`$.getJSON()`方法来实现跨域查询。 **一、跨域的由来与限制** 跨域是浏览器为了保护用户的安全而设置的一种机制,它禁止了不同源(协议、域名或端口)之间的Ajax请求。这导致...
原型如下: jQuery.getJSON( url, [data], [callback] ) 跨域加载JSON数据。 url: 发送请求的地址 data : (可选) 待发送key/value参数 callback: (可选) 载入成功时的回调函数 主要用于客户端获取服务器JSON数据。...
在Web开发中,由于浏览器的安全策略,JavaScript通常不能直接进行跨域请求,但jQuery提供了$.ajax和$.getJSON方法,通过JSONP(JSON with Padding)技术来实现在不同源之间获取JSON数据。下面将详细介绍如何使用...
为了提高性能,可以使用$.ajaxSetup()来设置全局的Ajax选项,或者使用$.getJSON()($.get()的JSON版本)和$.getScript()(加载并执行远程JavaScript)等简化的API。 总的来说,$.get()和$.post()是jQuery中实现...
jQuery的Ajax方法主要包括`$.ajax()`, `$.get()`, `$.post()`, `$.getJSON()`等。这些方法都提供了一种优雅的方式来发送和接收数据,同时提供了丰富的配置选项来处理各种情况。 ### 1. `$.ajax()` `$.ajax()`是...
在处理JSONP(JSON with Padding)格式的跨域请求时,$.ajax()和$.getJson()方法也支持JSONP回调函数的自动处理。需要注意的是,JSONP请求不受同源策略限制,因此可以用来从其他域请求数据,但安全性和数据保护仍然...
这是一个前端后端通过JQuery的getJSON函数交互json数据的例子。 前端网页是front.html,后端处理的模块是back.jsp 把back.jsp、front.html及jquery-1.8.3.min.js部署在Tomcat的webapps的ROOT下,通过在浏览器输入...