浅谈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 相关文章推荐
客户端限制只能上传jpg格式图片的js代码
Dec 09 Javascript
表单验证的完整应用案例探讨
Mar 29 Javascript
简单实用jquery版三级联动select示例
Jul 04 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
Dec 16 Javascript
JS获取select-option-text_value的方法
Dec 26 Javascript
js显示当前日期时间和星期几
Oct 22 Javascript
jquery validate.js表单验证入门实例(附源码)
Nov 10 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
Aug 23 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
Apr 22 Javascript
layui--select使用以及下拉框实现键盘选择的例子
Sep 24 Javascript
JQuery实现折叠式菜单的详细代码
Jun 03 jQuery
小程序自定义轮播图圆点组件
Jun 25 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安全配置
2006/10/09 PHP
ThinkPHP页面跳转success与error方法概述
2014/06/25 PHP
php获取YouTube视频信息的方法
2015/02/11 PHP
php检查字符串中是否包含7位GSM字符的方法
2015/03/17 PHP
php修改文件上传限制方法汇总
2015/04/07 PHP
PHP查询分页的实现代码
2017/06/09 PHP
jQuery使用手册之二 DOM操作
2007/03/24 Javascript
js模拟弹出效果代码修正版
2008/08/07 Javascript
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
Javascript变量函数浅析
2011/09/02 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
JS判断日期格式是否合法的简单实例
2016/07/11 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
详解Node.js中的Async和Await函数
2018/02/22 Javascript
Angular项目如何升级至Angular6步骤全纪录
2018/09/03 Javascript
React Native中Mobx的使用方法详解
2018/12/04 Javascript
Vue+Element UI+vue-quill-editor富文本编辑器及插入图片自定义
2019/08/20 Javascript
[01:30]DOTA2上海特锦赛现场采访 Loda倾情献唱
2016/03/25 DOTA
python 图片验证码代码分享
2012/07/04 Python
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
python计算无向图节点度的实例代码
2019/11/22 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
python 绘制正态曲线的示例
2020/09/24 Python
利用python绘制正态分布曲线
2021/01/04 Python
德国baby-markt婴儿用品瑞士网站:baby-markt.ch
2017/06/09 全球购物
英国在线泳装店:Simply Swim
2019/05/05 全球购物
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
初中生三年学习生活的自我评价
2013/11/03 职场文书
办公楼租房协议书范本
2014/11/25 职场文书
社区元宵节活动总结
2015/02/06 职场文书
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL
MySQL中order by的执行过程
2022/06/05 MySQL