ajax调用127.0.0.1(localhost)接口出现CORS跨域问题解决方法

1、最近调用身份证读写器硬件因为项目部署电脑和身份证读写器链接的电脑不是同一台电脑,ajax请求出现了CORS跨域。现记录下谷歌浏览器解决方法。
ajax请求方法:

 jQuery.ajax({
        type: "get",
        url: "http://localhost:9000/api/ReadMsg?ie=1&Fp=1",
        dataType: "JSONP",
        success: function (result) {
            console.log(result)
        }, 
        error: function (e) {
            console.log("身份证读卡器错误!");
        }
    });

2、因为调用的是硬件接口,没法通过后台方法解决跨域问题,只能通过前端接口进行处理。
谷歌浏览器最新版本chrome94版本后,会出现Access to XMLHttpRequest at ‘http://localhost:xxxx/api’ from origin ‘http://xxx.xxx.com:xxxx’ has been blocked by CORS policy: The request client is not a secure context and the resource is in more-private address space local.

3、解决方法
3.1 打开谷歌浏览器,在地址栏输入chrome://flags/进入下方页面
在这里插入图片描述
3.2 在搜索栏搜索Block insecure private network requests并设置为Disabled,重新打开浏览器就好了

在这里插入图片描述

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在Spring Boot应用程序中调用本地接口调用本地方法是类似的过程,因为它们都需要在应用程序内部进行方法调用。以下是两种不同的方式来实现这两种情况: 1. 调用本地接口 如果你的Spring Boot应用程序需要调用另一个运行在同一台计算机上的应用程序的本地接口,你可以使用Spring的RestTemplate类来完成这个任务。 RestTemplate类是Spring提供的HTTP客户端,它可以发送HTTP请求到指定的URL,并接收响应。以下是一个简单的示例代码,演示了如何使用RestTemplate调用本地接口: ```java RestTemplate restTemplate = new RestTemplate(); String result = restTemplate.getForObject("http://127.0.0.1:8080/local-api", String.class); ``` 这个代码片段创建了一个RestTemplate对象,并使用它发送一个GET请求到"http://127.0.0.1:8080/local-api" URL。接下来,它将响应的结果作为字符串返回。 2. 调用本地方法 如果你的Spring Boot应用程序需要调用另一个Java类的本地方法,你可以使用Spring的依赖注入功能来获取这个类的实例,并直接调用它的方法。以下是一个简单的示例代码,演示了如何在Spring Boot应用程序中调用本地方法: ```java @Component public class MyService { public String localMethod() { return "Hello World"; } } @Service public class MyServiceCaller { @Autowired private MyService myService; public void callLocalMethod() { String result = myService.localMethod(); System.out.println(result); } } ``` 这个代码片段中,MyService类定义了一个名为localMethod的方法,它返回一个字符串。然后,MyServiceCaller类使用@Autowired注解来注入MyService类的实例,并在callLocalMethod方法调用它的localMethod方法。最后,这个方法将返回的字符串打印到控制台上。 需要注意的是,如果你想在Spring Boot应用程序中调用本地方法,被调用方法必须在一个Spring管理的Bean类中定义。 ### 回答2: Spring Boot调用本地接口调用本地方法的方式是不同的。 调用本地接口: Spring Boot可以通过RestTemplate或者Feign来调用本地接口。首先需要在配置文件中配置服务的地址为127.0.0.1,然后创建RestTemplate或者Feign接口,并使用@FeignClient注解来指定调用接口地址。然后就可以使用这个接口进行调用调用方式和调用远程接口类似。 调用本地方法: 如果是在同一个应用中调用本地方法,则可以直接使用方法调用的方式,在需要调用的地方直接调用即可。如果是不同的模块之间需要调用本地方法,则可以通过@Autowired注解注入需要调用方法所在的类,然后直接调用对应的方法即可。 总结: 无论是调用本地接口还是调用本地方法,Spring Boot都提供了相应的方式来实现。需要根据具体的需求来选择合适的方式进行调用。 ### 回答3: 在Spring Boot中,调用127.0.0.1的本地接口调用本地方法有一些区别。 首先,调用本地接口涉及到网络通信。当我们使用Spring Boot调用127.0.0.1的本地接口时,实际上是通过网络协议进行通信的。这意味着我们需要使用网络通信相关的技术,比如使用HTTP或TCP协议来发送请求和接收响应。我们可以使用RestTemplate或者Feign等HTTP客户端库来简化调用接口的过程。通过发送HTTP请求,我们可以与本地接口进行交互,发送请求参数并接收返回结果。 而调用本地方法则不需要网络通信。当我们调用本地方法时,实际上是直接在当前JVM进程中调用方法。这种方式避免了网络通信带来的延迟和资源开销,通常比远程调用更高效。在Spring Boot中,我们可以直接通过依赖注入或者直接调用方法调用本地方法。这种方式适用于不需要跨进程通信的场景,比如在同一个应用中的不同模块之间进行方法调用。 总结来说,通过Spring Boot调用127.0.0.1的本地接口调用本地方法都可以实现与本地接口的交互,但是调用本地接口需要进行网络通信,而调用本地方法则是直接在当前JVM进程中进行方法调用。根据实际需求,我们可以灵活选择适合的方式来调用本地接口或者本地方法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值