jq+jsonp+ajax解决跨域问题

摘要:
charset=UTF-8“>jsonCallback=;div id=“showcontent”>结果;<import java.io.PrintWriter;import org.springframework.stereotype.Controller;

Jsonp(JSON with Padding)是资料格式 json 的一种“使用模式”,可以让网页从别的网域获取资料。

关于Jsonp更详细的资料请参考http://baike.baidu.com/view/2131174.htm,下面给出例子:

一.客户端

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  2. <html>  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  5. <title>Insert title here</title>  
  6. <script type="text/javascript" src="resource/js/jquery-1.7.2.js"></script>  
  7. </head>  
  8. <script type="text/javascript">  
  9. $(function(){     
  10.     /*  
  11.     //简写形式,效果相同  
  12.     $.getJSON("http://app.example.com/base/json.do?sid=1494&busiId=101&jsonpCallback=?",  
  13.             function(data){  
  14.                 $("#showcontent").text("Result:"+data.result)  
  15.     });  
  16.     */  
  17.     $.ajax({  
  18.         type : "get",  
  19.         async:false,  
  20.         url : "http://app.example.com/base/json.do?sid=1494&busiId=101",  
  21.         dataType : "jsonp",//数据类型为jsonp  
  22.         jsonp: "jsonpCallback",//服务端用于接收callback调用的function名的参数  
  23.         success : function(data){  
  24.             $("#showcontent").text("Result:"+data.result)  
  25.         },  
  26.         error:function(){  
  27.             alert('fail');  
  28.         }  
  29.     });   
  30. });  
  31. </script>  
  32. <body>  
  33. <div id="showcontent">Result:</div>  
  34. </body>  
  35. </html>  

 二.服务器端

  1. import java.io.IOException;  
  2. import java.io.PrintWriter;  
  3. import java.util.HashMap;  
  4. import java.util.Map;  
  5. import javax.servlet.http.HttpServletRequest;  
  6. import javax.servlet.http.HttpServletResponse;  
  7. import net.sf.json.JSONObject;  
  8. import org.springframework.stereotype.Controller;  
  9. import org.springframework.web.bind.annotation.RequestMapping;  
  10.   
  11. @Controller  
  12. public class ExchangeJsonController {  
  13.     @RequestMapping("/base/json.do")  
  14.     public void exchangeJson(HttpServletRequest request,HttpServletResponse response) {  
  15.        try {  
  16.         response.setContentType("text/plain");  
  17.         response.setHeader("Pragma", "No-cache");  
  18.         response.setHeader("Cache-Control", "no-cache");  
  19.         response.setDateHeader("Expires", 0);  
  20.         Map<String,String> map = new HashMap<String,String>();   
  21.         map.put("result", "content");  
  22.         PrintWriter out = response.getWriter();       
  23.         JSONObject resultJSON = JSONObject.fromObject(map); //根据需要拼装json  
  24.         String jsonpCallback = request.getParameter("jsonpCallback");//客户端请求参数  
  25.         out.println(jsonpCallback+"("+resultJSON.toString(1,1)+")");//返回jsonp格式数据  
  26.         out.flush();  
  27.         out.close();  
  28.       } catch (IOException e) {  
  29.        e.printStackTrace();  
  30.       }  
  31.     }  
  32. }  

免责声明:文章转载自《jq+jsonp+ajax解决跨域问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Lambda 表达式查看SQL-SERVER数据库及各个表的数据量及占用空间大小下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

比特币挖矿详细图文教程

好吧,废话不多说了,其实比特币 - Bitcoin 出现时间已经很久了,不过对于新手来说,还是需要讲解一下的。关于比特币。FORECE 在好几年前就听说过了,不过当时就觉得这玩意不靠谱。不过看到CNBETA这几年来一直不时的有比特币的新闻出现。FORECE 决定没事玩玩先吧。   比特币的简介 比特币(英语:Bitcoin,简写:BTC,货币符号:฿),...

SAP query传输以后需要重新生成程序

最近有个需求,需要修改一个Query,在DEV修改好并测试通过后,传输到QAS,但是报表还是没变化,着实郁闷了一下,这是万能的google帮上忙了,原来传到其他系统以后还需要generate program一下,也就是在用sq01在运行一下,下面是一篇比较quickquery与query的文章 QuickViewer 和 SAP Query 是两种不同的创...

分布式任务调度系统:xxl-job

任务调度,通俗来说实际上就是“定时任务”,分布式任务调度系统,翻译一下就是“分布式环境下定时任务系统”。 xxl-job一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 gitee地址:https://gitee.com/xuxueli0323/xxl-job 中文文档地址:ht...

NFS配置使用

NFS配置使用 目录 NFS配置使用 一、概述 二、NFS服务器端安装和配置 2.1.服务端安装 2.2.服务端配置 2.3.防火墙安全配置 2.3.1.方案一、关闭防火墙或对内网所有端口开放 2.3.2.方案二、防火墙不关闭,开放指定端口号 2.4.启动NFS服务 三、NFS客户端安装和配置 3.1.客户端安装 3.2.客户端配置 3...

使用WCF传输DataTable:DataTable和Xml格式的字符串相互转换(C#)

背景:项目中要用到客户端向服务端传数据,使用WCF,绑定webHttpBinding,做了一个小例子。 业务逻辑简介:客户端在a表中添加了几条数据,从SQL Server数据库直接取出新添加的数据(DataTable格式的数据),传递给服务端,服务端有着和客户端相同的数据库结构,将收到的数据也同样添加到自己的a表中。除了添加数据,还有可能进行修改、删除等,...

JavaWeb项目架构之NFS文件服务器

NFS简介 NFS(Network File System)即网络文件系统。 主要功能:通过网络(局域网)让不同的主机系统之间可以共享文件或目录。 主要用途:NFS网络文件系统一般被用来存储共享视频,图片,附件等静态资源文件。 NFS存储服务 无NFS文件共享存储 当用户A通过互联网上传文件时,经过负载均衡,随机或者定向分配到某个节点。但是当用户B去下载...