zoukankan      html  css  js  c++  java
  • java~jsonp的使用

    对于一个后端程序来发,它可能会被多个应用调用,而跨域的问题就来了,使用jsonp来解决这个问题是个不错的方式,下面说一下关于jsonp的知识

    • JSONP不是新技术,只是在页面上响应一段js
    • 对于响应的 MIME type ('text/plain')需要注解,它由于受到了X-Content-Type-Options:nosniff的限制,在跨域时你的js是不支持的
    • 基于上面的原因,我们的服务器的接口方法,返回MIME应该是application/javascript

    服务端代码

       @GetMapping(value = "/get-user", produces = {"application/javascript"})
        public String users(@RequestParam String name, @RequestParam String callback) {
            String jsonStr = "{'name':'" + name + "'}";
            return callback + "(" + jsonStr + ")";
        }
    

    前端代码

    <script type="text/javascript">
        $.ajax({
            type: "get",
            url: "http://192.168.3.181:9090/get-user?name=lind",
            dataType: 'jsonp',
            jsonp: "callback",
            success: function (response, status, xhr) {
                console.log(response);	//服务器返回的信息
                console.log(xhr.status);	//服务器返回的信息
            },
            error: function () {
                console.log("请求失败");
            }
        });
    
    </script>
    

    跨域请求的结果

    服务端实际的响应是个js方法

  • 相关阅读:
    python的os模块命令
    python的os模块
    albert1017 Linux下压缩某个文件夹(文件夹打包)
    装饰器加不加()
    json和jsonp解决跨域传输数据等
    wsgi
    flask建立数据模型数据类型
    爬虫中
    javaweb学习总结(四)——Http协议
    JavaWeb学习总结(三)——Tomcat服务器学习和使用(二)
  • 原文地址:https://www.cnblogs.com/lori/p/15062547.html
Copyright © 2011-2022 走看看