zoukankan      html  css  js  c++  java
  • JSONP实现跨域

    JSONP实现跨域

    1.AJAX跨域访问

    <script type="text/javascript" src="http://manage.jt.com/js/jquery-easyui-1.4.1/jquery.min.js"></script>
    <script type="text/javascript">
        $(function(){
            alert("测试访问开始!!!!!")
            
            $.ajax({
                url:"http://manage.jt.com/web/testJSONP",
                type:"get",
                dataType:"jsonp",       //返回值类型callback(data)
                //jsonp: "callback",   //指定参数名称
                //jsonpCallback: "hello",  //指定回调函数名称
                success:function (data){
                    alert(data.id);
                    alert(data.name);
                    //转化为字符串使用
                    //var obj = eval("("+data+")");
                    //alert(obj.name);
                }    
            });    
        })
    </script>

    2.后端

    @Controller
    public class JSONPController {
        
        
        //http://manage.jt.com/web/testJSONP?callback=jQuery111104246765155397203_1541993772596&_=1541993772597
        //@RequestMapping(value="/web/testJSONP",produces="text/html;charset=utf-8")
        //@ResponseBody
        public String testJSONP(String callback) throws JsonProcessingException{
            ObjectMapper objectMapper = new ObjectMapper();
            //String json = "{'id':'1',"name":"tomcat"}";
            User user = new User();
            user.setId(100);
            user.setName("王思聪吃热狗");
            user.setAge(30);  
            
            String json = objectMapper.writeValueAsString(user);
            return callback + "(" + json +")";
        }
        
        //利用工具类形式实现JSONP
        @RequestMapping(value="/web/testJSONP")
        @ResponseBody    
        public MappingJacksonValue utilJSONP(String callback){
            
            User user = new User();
            user.setId(100);
            user.setName("王思聪吃热狗");
            user.setAge(30);
            MappingJacksonValue value =
                    new MappingJacksonValue(user);
            value.setJsonpFunction(callback);
            return value;
            
        }
    }
  • 相关阅读:
    learning.py报错
    Swift与OC的相互调用
    微信小程序地图之逆地理编码
    微信小程序-滑动视图注意事项
    animate.css动画种类
    利用WKWebView实现js与OC交互注意事项
    jquey下eq()的使用注意事项
    如何判断html页面停止滚动?
    git 常见报错
    openresty中http请求body数据过大的处理方案
  • 原文地址:https://www.cnblogs.com/gxlaqj/p/11723057.html
Copyright © 2011-2022 走看看