浅谈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 一个自定义长度的文本自动换行的函数
Aug 19 Javascript
js保存当前路径(cookies记录)
Dec 14 Javascript
js中一个函数获取另一个函数返回值问题探讨
Nov 21 Javascript
常用的js验证和数据处理总结
Aug 02 Javascript
解决URL地址中的中文乱码问题的办法
Feb 10 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
May 16 Javascript
webstorm+vue初始化项目的方法
Oct 18 Javascript
webpack的tree shaking的实现方法
Sep 18 Javascript
JavaScript 类的封装操作示例详解
May 16 Javascript
JavaScript实现HSL拾色器
May 21 Javascript
js实现ajax的用户简单登入功能
Jun 18 Javascript
微信小程序canvas动态时钟
Oct 22 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 将excel导入mysql
2009/11/09 PHP
PHP中__autoload和Smarty冲突的简单解决方法
2016/04/08 PHP
php中使用websocket详解
2016/09/23 PHP
PHP删除数组中指定下标的元素方法
2018/02/03 PHP
php封装的pdo数据库操作工具类与用法示例
2019/05/08 PHP
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
快速排序 php与javascript的不同之处
2011/02/22 Javascript
在多个页面使用同一个HTML片段的代码
2011/03/04 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
jQuery选择器全面总结
2014/01/06 Javascript
JavaScript实现文字与图片拖拽效果的方法
2015/02/16 Javascript
Javascript将双字节字符转换成单字节字符并计算长度
2016/06/22 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
2017/08/12 Javascript
微信小程序自定义组件
2017/08/16 Javascript
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
举例介绍Python中的25个隐藏特性
2015/03/30 Python
详解Python的Twisted框架中reactor事件管理器的用法
2016/05/25 Python
深度定制Python的Flask框架开发环境的一些技巧总结
2016/07/12 Python
Python实现的选择排序算法示例
2017/11/29 Python
Python实现的redis分布式锁功能示例
2018/05/29 Python
python爬虫框架scrapy实现模拟登录操作示例
2018/08/02 Python
浅谈python3.6的tkinter运行问题
2019/02/22 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
SVG实现多彩圆环倒计时效果的示例代码
2017/11/21 HTML / CSS
台湾前三大B2C购物网站:MOMO购物网
2017/04/27 全球购物
美国女士内衣在线折扣商店:One Hanes Place
2019/03/24 全球购物
德尔福集团DELPHI的笔试题
2012/02/22 面试题
财务助理岗位职责
2013/11/10 职场文书
青春无悔演讲稿
2014/05/08 职场文书
企业三严三实学习心得体会
2014/10/13 职场文书
golang判断key是否在map中的代码
2021/04/24 Golang
js Proxy的原理详解
2021/05/25 Javascript
Python何绘制带有背景色块的折线图
2022/04/23 Python
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python