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方法

posted @   张占岭  阅读(977)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2018-07-26 springboot将项目源代码打包
2017-07-26 Linux~学习笔记目录索引
2013-07-26 反编译工具reflector破解方法
2012-07-26 代码重构~提取方法
2012-07-26 代码重构~封装成员变量
2011-07-26 JS不忘本之JS类篇~类,方法,属性,子类,扩展方法在JS里的实现
2011-07-26 JS不忘本之switch篇~建立一个菜单,并为菜单的参数来设置它的具体操作
点击右上角即可分享
微信分享提示