Java—RPC远程过程调用—AJAX跨域请求处理

Java—RPC远程过程调用—AJAX跨域请求处理

本篇文章的代码是基于上一篇文章的代码完成的,如有什么不懂请查看上一篇,谢谢。

1、导入依赖,导入依赖的位置在httpclient_rpc_client项目下的pom.xml文件中

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.3.2.RELEASE</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    
    	<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

2、不用在写一个控制器,直接在resources下创建一个static层中创建HTML页面文件。并同时导入jQuery文件。

前台页面:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript">
        var url = "123"
        /*
        javascript中默认的,ajax请求不能跨域
        跨域 - ahjax所属的站点,和被请求的站点不是同一个域
        域 - ip、端口、域名、主机名,任何一个有变化,都是不同的域。
        需要服务器,返回的响应中增加跨域请求头,加的地点在我们的控制器上面加上一个注解				@CrossOrigin:跨域请求注解。在响应头上增加开宇处理允许,可以让ajax跨域请求当前的夫区方法。如果用于注解类型(必须是控制器),代表当前控制器所有的方法,都允许开宇访问。
        */
        function sendBodyParams() {
            $.ajax({
                "url": "http://localhost:80/bodyParams",//请求的路径地址
                "type":"post",//请求方式
                "data":"[{\"name\":\"abc\", \"password\":\"123\"},{\"name\":\"def\", \"password\":\"321\"}]",
                "contentType":"application/json", // 必须设定,代表请求体的格式。默认是text/plain; 默认是 参数名=参数值&参数名=参数值 的字符串
                "dataType":"json",//响应类型
                "success":function(data){
                    alert(data);
                    console.log(data);
                }
            });
        }
    </script>
</head>
<body>
    <button onclick="sendBodyParams()">测试AJAX请求,请求体传递JSON参数</button>
</body>
</html>

搭建好页面之后需要在httpclient_rpc_client项目下创建一个启动类

package com.bjsxt.httpclient;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class TestApp {
    public static void main(String[] args) {
        SpringApplication.run(TestApp.class,args);
    }
}

启动启动类,TetsApp。然后在页面上输入浏览地址:localhost:8080/index.html,返回结果
Java—RPC远程过程调用—AJAX跨域请求处理_第1张图片
只能传一个对象,用集合的话可以有若干个元素。

你可能感兴趣的:(java,ajax,rpc)