zoukankan      html  css  js  c++  java
  • json和jsonp的传输方式

    jsonp传输会解决跨域的问题

    $.ajax({
                    async: false,
    /*                 url: "http://127.0.0.1:8080/2015020601/background/mealshow/findNoWinner.html", */
                    url: "http://www.upalapp.com/2015020601/background/mealshow/findNoWinner.html",
                    type: "post",
                    dataType: 'jsonp',
                    //jsonp的值自定义,如果使用jsoncallback,那么服务器端,要返回一个jsoncallback的值对应的对象.
                    jsonp: 'jsoncallback',
                    //要传递的参数,没有传参时,也一定要写上
                    data: null,
                    timeout: 5000,
                    //返回Json类型
                    contentType: "application/json;utf-8",
                    //服务器段返回的对象包含name,data属性.
                   success : function(data) {
                        for(var i=0; i<data.length;i++){
                            var winner = data[i];
                            alert("wxName: " + winner.wxName + "awardsType: " + winner.awardsType + "uuid: "+ winner.uuid);
                        }
                        
                    },
                    error: function (jqXHR, textStatus, errorThrown) {
                        alert(textStatus);
                    }
                });

    后台

    res.setContentType("text/html;charset=UTF-8");
    String callbackFunName =req.getParameter("callback");//得到js函数名称
    String jsonData = ListToJson.listToJson(list);
    //String jsonData = "{"state":"empty"}";
    res.getWriter().write(callbackFunName + "("+jsonData+")"); //返回jsonp数据

    普通的ajax的json方式传输

     $.ajax({
                    type : 'GET',
                    contentType : 'application/json',
    /*                 url : "http://127.0.0.1:8080/2015020601/background/mealshow/startGame", */
                    url : "http://www.upalapp.com/2015020601/background/mealshow/findNoWinner.html",
                    processData : false,
                    awardsType: 1,
                    dataType : 'json',
                    success : function(data) {
                        for(var i=0; i<data.length;i++){
                            var winner = data[i];
                            alert("wxName: " + winner.wxName + "awardsType: " + winner.awardsType + "uuid: "+ winner.uuid);
                        }
                        
                    },
                    error : function() {
                        alert('出错了!');
                    }
                });

    后台

    可以直接使用SpringMVC的@ResponseBody注解

  • 相关阅读:
    财务统计
    Drupal 7 模 .info 文件描述
    怎么样MyEclipse配置Tomcat?
    QQ旅程server分析01-网关server
    UVa 988
    人工智能的策略,如果国家优先发展”梦想成真”?
    苹果公司的新的编程语言 Swift 高级语言(十一)--初始化类的析构函数的一个实例
    【剑指offer】两个队列实现堆栈
    证券从业改革
    Qt调用word 例子
  • 原文地址:https://www.cnblogs.com/onlymate/p/4788901.html
Copyright © 2011-2022 走看看