java~jsonp的使用

这篇博客介绍了Java后端如何使用JSONP解决跨域问题。内容包括服务端代码的编写、前端代码的实现、跨域请求的结果展示以及服务端实际响应的JS方法。通过理解JSONP的工作原理,开发者可以有效地进行跨域通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于一个后端程序来发,它可能会被多个应用调用,而跨域的问题就来了,使用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>

跨域请求的结果

图片.png

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

图片.png

图片.png

只要一步一个脚印,水滴石穿,吃透、搞懂、拿捏住是完全没有问题的!看到这里的都是妥妥的铁粉无疑了,底下是微信,找到的可是有大把源码,学习路线思维导图啥的,多的我就不透露,539413949看大家自己的积极性了啊,热爱所热爱的,学习伴随终生

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值