浅谈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 相关文章推荐
jQueryUI写一个调整分类的拖放效果实现代码
May 10 Javascript
JavaScript控制Session操作方法
Jan 17 Javascript
js获取url中指定参数值的示例代码
Dec 14 Javascript
JS如何将数字类型转化为没3个一个逗号的金钱格式
Jan 27 Javascript
ExtJS4如何给同一个formpanel不同的url
May 02 Javascript
jQuery中empty()方法用法实例
Jan 16 Javascript
Bootstrap学习笔记之css样式设计(1)
Jun 07 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
Jul 18 Javascript
angular实现表单验证及提交功能
Feb 01 Javascript
webpack项目调试以及独立打包配置文件的方法
Feb 28 Javascript
详解vue中的computed的this指向问题
Dec 05 Javascript
vue+express+jwt持久化登录的方法
Jun 14 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
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
php 执行系统命令的方法
2009/07/07 PHP
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
smarty简单应用实例
2015/11/03 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
javascript 设为首页与加入收藏兼容多浏览器代码
2011/01/11 Javascript
jQuery的运行机制和设计理念分析
2011/04/05 Javascript
JavaScript中常用的运算符小结
2012/01/18 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
Nginx上传文件全部缓存解决方案
2015/08/17 Javascript
JavaScript添加随滚动条滚动窗体的方法
2016/02/23 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
概述一个页面从输入URL到页面加载完的过程
2016/12/16 Javascript
JS实现加载和读取XML文件的方法详解
2017/04/24 Javascript
JS实现非首屏图片延迟加载的示例
2018/01/06 Javascript
Vue中使用的EventBus有生命周期
2018/07/12 Javascript
vue使用swiper实现中间大两边小的轮播图效果
2019/11/24 Javascript
[47:48]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第三局
2016/02/28 DOTA
python zip文件 压缩
2008/12/24 Python
Python画图高斯分布的示例
2019/07/10 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
2019/08/12 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
python 实现二维列表转置
2019/12/02 Python
Django 允许局域网中的机器访问你的主机操作
2020/05/13 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
Python 实现PS滤镜的旋涡特效
2020/12/03 Python
大四学年自我鉴定
2013/11/13 职场文书
北京大学自荐信范文
2014/01/28 职场文书
自愿离婚协议书范本
2014/09/13 职场文书
党员民主评议自我评价
2014/10/20 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
Python中常见的导入方式总结
2021/05/06 Python
Python机器学习之PCA降维算法详解
2021/05/19 Python