第一种:jsonp
利用javascript中的src属性进行跨域
$.ajax({
url:"http://manager.jt.com/web/testJSONP",
type:"get", //jsonp只能支持get请求 src只能进行get请求.
dataType:"jsonp", //dataType表示返回值类型 必须标识
//jsonp: "callback", //指定参数名称
jsonpCallback: "hello", //指定回调函数名称
success:function (data){ //data经过jQuery封装返回就是json串
alert(data.itemId);
alert(data.itemDesc);
}
});
第二种:cors
服务器端标识允许跨域的网址
package com.jt.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration //标识我是一个配置类
public class CorsConfig implements WebMvcConfigurer {
//扩展跨域请求的方法
@Override
public void addCorsMappings(CorsRegistry registry) {
//1.允许什么样的请求进行跨域
// /* 只允许一级目录请求 /** 表示多级目录请求.
registry.addMapping("/**")
//2.允许哪些服务进行跨域
.allowedOrigins("*")
//3.是否允许携带cookie信息
.allowCredentials(true)
//4.定义探针检测时间 在规定的时间内不再询问是否允许跨域
.maxAge(1800);
}
}
第三种:httpclient(springcloud跨域底层原理)
httpClient使用时需要接收几个用户的URL请求? 2个
httpClient代码调用为多少层?5