浅谈JQuery+ajax+jsonp 跨域访问


Posted in Javascript onJune 25, 2016

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

一. 客户端

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
<script type="text/javascript" src="resource/js/jquery-1.7.2.js"></script> 
</head> 
<script type="text/javascript"> 
$(function(){   
  /* 
  //简写形式,效果相同 
  $.getJSON("http://app.example.com/base/json.do?sid=1494&busiId=101&jsonpCallback=?", 
      function(data){ 
        $("#showcontent").text("Result:"+data.result) 
  }); 
  */ 
  $.ajax({ 
    type : "get", 
    async:false, 
    url : "http://app.example.com/base/json.do?sid=1494&busiId=101", 
    dataType : "jsonp",//数据类型为jsonp 
    jsonp: "jsonpCallback",//服务端用于接收callback调用的function名的参数 
    success : function(data){ 
      $("#showcontent").text("Result:"+data.result) 
    }, 
    error:function(){ 
      alert('fail'); 
    } 
  });  
}); 
</script> 
<body> 
<div id="showcontent">Result:</div> 
</body> 
</html>

二. 服务器端

import java.io.IOException; 
import java.io.PrintWriter; 
import java.util.HashMap; 
import java.util.Map; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import net.sf.json.JSONObject; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
 
@Controller 
public class ExchangeJsonController { 
  @RequestMapping("/base/json.do") 
  public void exchangeJson(HttpServletRequest request,HttpServletResponse response) { 
    try { 
    response.setContentType("text/plain"); 
    response.setHeader("Pragma", "No-cache"); 
    response.setHeader("Cache-Control", "no-cache"); 
    response.setDateHeader("Expires", 0); 
    Map<String,String> map = new HashMap<String,String>();  
    map.put("result", "content"); 
    PrintWriter out = response.getWriter();    
    JSONObject resultJSON = JSONObject.fromObject(map); //根据需要拼装json 
    String jsonpCallback = request.getParameter("jsonpCallback");//客户端请求参数 
    out.println(jsonpCallback+"("+resultJSON.toString(1,1)+")");//返回jsonp格式数据 
    out.flush(); 
    out.close(); 
   } catch (IOException e) { 
    e.printStackTrace(); 
   } 
  } 
}

以上就是小编为大家带来的浅谈JQuery+ajax+jsonp 跨域访问全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
javascript 贪吃蛇实现代码
Nov 22 Javascript
JavaScript中的细节分析
Jun 30 Javascript
jquery应该如何来设置改变按钮input的onclick事件
Dec 10 Javascript
JS中Iframe之间传值的方法
Mar 11 Javascript
js跑马灯代码(自写)
Apr 17 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
Apr 30 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
Jul 21 Javascript
bootstrap实现的自适应页面简单应用示例
Mar 09 Javascript
关于jQuery库冲突的完美解决办法
May 20 jQuery
解决微信二次分享不显示摘要和图片的问题
Aug 18 Javascript
微信小程序日历/日期选择插件使用方法详解
Dec 28 Javascript
JS多个表单数据提交下的serialize()应用实例分析
Aug 27 Javascript
javascript 广告移动特效的实现代码
Jun 25 #Javascript
jQuery+CSS3文字跑马灯特效的简单实现
Jun 25 #Javascript
解析JavaScript中的字符串类型与字符编码支持
Jun 24 #Javascript
JavaScript程序中实现继承特性的方式总结
Jun 24 #Javascript
JavaScript编程中实现对象封装特性的实例讲解
Jun 24 #Javascript
JS全局变量和局部变量最新解析
Jun 24 #Javascript
jQuery插件passwordStrength密码强度指标详解
Jun 24 #Javascript
You might like
php仿discuz分页效果代码
2008/10/02 PHP
PHP将字符串首字母大小写转换的实例
2017/01/21 PHP
jQuery EasyUI API 中文文档 - ComboBox组合框
2011/10/07 Javascript
jQuery渐变发光导航菜单的实例代码
2013/03/27 Javascript
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
如何使用Javascript正则表达式来格式化XML内容
2013/07/04 Javascript
jQuery实现可收缩展开的级联菜单实例代码
2013/11/27 Javascript
JavaScript中实现最高效的数组乱序方法
2014/10/11 Javascript
jQuery使用之标记元素属性用法实例
2015/01/19 Javascript
理解 JavaScript Scoping &amp; Hoisting(二)
2015/11/18 Javascript
谈谈JavaScript的New关键字
2016/08/26 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
详解Node.js开发中的express-session
2017/05/19 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
express启用https使用小记
2019/05/21 Javascript
Vue指令实现OutClick的示例
2020/11/16 Javascript
python分析作业提交情况
2017/11/22 Python
Python3.7实现中控考勤机自动连接
2018/08/28 Python
pandas DataFrame索引行列的实现
2019/06/04 Python
解决pyqt5中QToolButton无法使用的问题
2019/06/21 Python
flask 实现token机制的示例代码
2019/11/07 Python
如何通过命令行进入python
2020/07/06 Python
Python 实现国产SM3加密算法的示例代码
2020/09/21 Python
Python做图像处理及视频音频文件分离和合成功能
2020/11/24 Python
Django 实现图片上传和下载功能
2020/12/31 Python
python中pdb模块实例用法
2021/01/15 Python
使用 css3 实现圆形进度条的示例
2017/07/05 HTML / CSS
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
索尼巴西商店:Sony巴西
2019/06/21 全球购物
优秀演讲稿范文
2013/12/29 职场文书
《太阳》教学反思
2014/02/21 职场文书
《天游峰的扫路人》教学反思
2014/04/25 职场文书
2015年干部教育培训工作总结
2015/05/15 职场文书
初中班主任教育随笔
2015/08/15 职场文书
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL