jsonp 跨域

适用场景:跨域传值

ajax端:

 $.ajax({  

   url:"XXXXX",  

        dataType:‘jsonp‘,  

        data:‘‘,  

        jsonp:‘callbackparam‘,        jsonp定义的callback  ,会随机的向服务端发送一段数字 ‘Jquery.....‘    该字符串将作为返回值的函数名

        success:function(result) { 

      //do something

        }

    });
服务端(java):  

   /**     * 方法描述:展示所有商品     * 作   者:赵       鹏     */    @GetMapping("showGoods")
    @ResponseBody
    public void showGoods(HttpServletResponse response, HttpServletRequest request) throws IOException {

        //设置字符格式
        response.setHeader("Content-type", "text/html;charset=utf-8");  

        List<Grounding> grounding = groundingService.showGoods();

        Gson gson = new Gson();  //也可以用   JSONObject /    JSONArray 或者 FastJson 等json工具

        String json = gson.toJson(grounding);

        String parameter = request.getParameter("callbackparam");  //获得ajax传来的随机函数名

        System.out.println(parameter);

        response.getWriter().print(parameter + "(" + json + ")");  //并拼接到返回值中 在使用小括号将json数据拼接起来 

     //这样ajax端就会的到一个 我们自己 构造的一个 function 函数  最后在success中执行

}
时间: 2024-07-31 16:14:10

jsonp 跨域的相关文章

原生jsonp跨域

<script> // jsonp跨域原生写法 var script = document.createElement('script'); script.src = 'http://192.168.7.16/kuayu/test02.php?callback=aa'; document.body.appendChild(script); //aa('后台数据') function aa(res) { alert(res.website); } </script>

JSONP跨域的原理解析

JSONP跨域的原理解析 一种脚本注入行为 在 2011年10月27日 那天写的     已经有 99238 次阅读了 感谢 参考或原文 JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制,被称为"Same-Origin Policy"(同源策略).这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容. JavaScript这个安全策略在进

jQuery和java后台的jsonp跨域问题

Jsonp原理: ajax本身是不可以跨域的,通过产生一个script标签来实现跨域.因为script标签的src属性是没有跨域的限制的.其实设置了dataType: 'jsonp'后,$.ajax方法就和ajax XmlHttpRequest没什么关系了,取而代之的则是JSONP协议.JSONP是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问. JSONP是一种脚本注入(Script Injection)行

JQuery+ajax+jsonp 跨域访问

Jsonp(JSON with Padding)是资料格式 json 的一种“使用模式”,可以让网页从别的网域获取资料. 关于Jsonp更详细的资料请参考http://baike.baidu.com/view/2131174.htm,下面给出例子: 一.客户端 Html代码   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.

【转】JSONP跨域的原理解析

JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略).这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容. JavaScript这个安全策略在进行多iframe或多窗口编程.以及Ajax编程时显得尤为重要.根据这个策略,在baidu.com下的页面中包含的JavaScript代码,不能访问在

原生JS封装Ajax插件(同域&amp;&amp;jsonp跨域)

抛出一个问题,其实所谓的熟悉原生JS,怎样的程度才是熟悉呢? 最近都在做原生JS熟悉的练习... 用原生Js封装了一个Ajax插件,引入一般的项目,传传数据,感觉还是可行的...简单说说思路,如有不正确的地方,还望指正^_^ 一.Ajax核心,创建XHR对象 Ajax技术的核心是XMLHttpRequest对象(简称XHR),IE5是第一款引入XHR对象的浏览器,而IE5中的XHR对象是通过MSXML库中的一个ActiveX对象实现的,因此在IE中可能有3个版本,即MSXML2.XMLHttp.

jsonp 跨域原理详解

JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略).这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容. JavaScript这个安全策略在进行多iframe或多窗口编程.以及Ajax编程时显得尤为重要.根据这个策略,在baidu.com下的页面中包含的JavaScript代码,不能访问在

Jsonp 跨域请求实例

关于jsonp的一个实例,其实自己也不是很了解,今天下午稍微研究了一下: 简单来说,jsonp就是为了两个不同网站之间数据传递而产生的,主要用于js脚本,因为浏览器本身是禁止跨域访问的: 本机实例: http://127.0.0.1:80/index.php <script src="http://cdn.staticfile.org/jquery/1.11.1/jquery.min.js"></script> <script type="tex

支持JSONP跨域的对象

支持JSONP跨域的对象 1:img 2:iframe 3:link 4:script 为什么,JSONP 最终选择是 script 实现呢?度娘来也! 平常我们进行JSONP请求数据,因为 jsonp 的参数与后台不一致的错误 现象: 1:console面板 ,报错:'Uncaught SyntaxError: Unexpected token :'  2:数据已经返回,在network面板才看到得到,却无法获取到 正确的JSONP: 因此,平常看到这个的错误,便知道这样的原因导致=>即:js

jquery Jsonp 跨域访问

$(function () { $.ajax({ url: 'http://ihisuns.vicp.cc:8765/PcClient.aspx', data: { "ModuleName": "MiXinDialogue", "MethodName": "GetMiXinDialogue", "Id": "1" }, dataType: "jsonp", jsonp