浅谈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 相关文章推荐
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
Mar 02 Javascript
jquery $.ajax各个事件执行顺序
Oct 15 Javascript
jquery异步请求实例代码
Jun 21 Javascript
使用javascript实现有效时间的控制,并显示将要过期的时间
Jan 02 Javascript
Javascript中的String对象详谈
Mar 03 Javascript
JavaScript不刷新实现浏览器的前进后退功能
Nov 05 Javascript
使用jquery制作弹出框效果
Apr 03 Javascript
sencha ext js 6 快速入门(必看)
Jun 01 Javascript
Vue.js单向绑定和双向绑定实例分析
Aug 14 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
Feb 26 Javascript
js实现幻灯片轮播图
Aug 14 Javascript
three.js显示中文字体与tween应用详析
Jan 04 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集成FCK的函数代码
2008/09/27 PHP
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
2012/05/29 PHP
浅谈php中mysql与mysqli的区别分析
2013/06/10 PHP
PHP中isset()和unset()函数的用法小结
2014/03/11 PHP
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
PHP小教程之实现链表
2014/06/09 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
2015/10/21 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
2019/03/22 PHP
JavaScript实现多维数组的方法
2013/11/20 Javascript
jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
2013/12/05 Javascript
类似php的js数组的in_array函数自定义方法
2013/12/27 Javascript
jQuery focus和blur事件的应用详解
2014/01/26 Javascript
Javascript单例模式的介绍和实例
2016/10/08 Javascript
详解Angular的数据显示优化处理
2016/12/26 Javascript
原生js检测页面加载完毕的实例
2018/09/11 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
基于JavaScript实现贪吃蛇游戏
2020/03/16 Javascript
JavaScript常用工具函数汇总(浏览器环境)
2020/09/17 Javascript
python用ConfigObj读写配置文件的实现代码
2013/03/04 Python
用python读写excel的方法
2014/11/18 Python
python获取本机mac地址和ip地址的方法
2015/04/29 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
深入浅析python的第三方库pandas
2020/02/13 Python
CSS3 please 跨浏览器的CSS3产生器
2010/03/14 HTML / CSS
CK澳大利亚官网:Calvin Klein澳大利亚
2020/12/12 全球购物
《沙漠中的绿洲》教学反思
2014/04/24 职场文书
医院保洁员岗位职责
2015/02/13 职场文书
培训讲师开场白
2015/06/01 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书
婚礼领导致辞大全
2015/07/28 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
竞选稿之小学班干部
2019/10/31 职场文书
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫