浅谈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 相关文章推荐
jquery中event对象属性与方法小结
Dec 18 Javascript
document.addEventListener使用介绍
Mar 07 Javascript
Javascript封装DOMContentLoaded事件实例
Jun 12 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
Nov 03 Javascript
angularJs 表格添加删除修改查询方法
Feb 27 Javascript
JS构造一个html文本内容成文件流形式发送到后台
Jul 31 Javascript
webpack之引入图片的实现及问题
Oct 08 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
May 21 Javascript
javascript 高级语法之继承的基本使用方法示例
Nov 11 Javascript
Javascript Web Worker使用过程解析
Mar 16 Javascript
基于Vue实现微前端的示例代码
Apr 24 Javascript
Vue2.0搭建脚手架
Mar 13 Vue.js
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
PHP4实际应用经验篇(1)
2006/10/09 PHP
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
JSON无限折叠菜单编写实例
2013/12/16 Javascript
JS实现仿京东淘宝竖排二级导航
2014/12/08 Javascript
jquery 构造函数在表单提交过程中修改数据
2015/05/25 Javascript
json与jsonp知识小结(推荐)
2016/08/16 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
js return返回多个值,通过对象的属性访问方法
2017/02/21 Javascript
NodeJS如何实现同步的方法示例
2018/08/24 NodeJs
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
如何基于jQuery实现五角星评分
2020/09/02 jQuery
详解Python中的静态方法与类成员方法
2017/02/28 Python
Python numpy实现二维数组和一维数组拼接的方法
2018/06/05 Python
对Python函数设计规范详解
2019/07/19 Python
Pytorch之contiguous的用法
2019/12/31 Python
在echarts中图例legend和坐标系grid实现左右布局实例
2020/05/16 Python
python打开文件的方式有哪些
2020/06/29 Python
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
美国高品质个性化珠宝销售网站:Jewlr
2018/05/03 全球购物
肯尼迪就职演说稿
2013/12/31 职场文书
党员一句话承诺大全
2014/03/28 职场文书
2014年师德承诺书
2014/05/23 职场文书
组织鉴定材料
2014/06/02 职场文书
城市规划应届毕业生自荐信
2014/07/04 职场文书
党员反对四风思想汇报范文
2014/10/25 职场文书
综治维稳工作汇报
2014/10/27 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
作文评语集锦
2014/12/25 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
运动会广播稿100字
2015/08/19 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书
完美解决golang go get私有仓库的问题
2021/05/05 Golang
Nginx配置Https安全认证的实现
2021/05/26 Servers
【DOTA2】当街暴打?PSG LGD vs VG - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA