前端跨域问题怎么解决
一、cors
后端程序员提供的解决跨域访问的方法,和前端程序员没有关系,定义后端程序代码 让 所有的前端程序都可以访问后端的数据,后端程序告诉服务器这个后端程序的数据任何前端请求都可以访问,服务器就不再执行跨域访问拦截数据的操作。
二、服务器代理 proxy
2.1 步骤
(1)修改 Nginx或者 Apache 服务器文件,目前博主使用的是Nginx代理
(2)在配置文件中的 server{ }中,一般是在最先方定义服务器代理
location /php1 {
proxy_pass 'http://localhost/bk_2123/week6_day01/04_proxy/demo.php' ;
}
location 服务器代理关键词
/php1 服务器代理名称
proxy_pass 设定服务器代理的跨域url地址
'http://localhost/bk_2123/week6_day01/04_proxy/demo.php' 跨域地址
; 必须使用分号结束
设定好之后 一定要重启服务器
(3)在ajax函数中设定url请求地址
2.2 步骤展示
(1)修改nginx服务器文件
(2)在ajax函数中设定url请求地址
三、jsonp
3.1 核心原理
通过script标签属性scr属性来导入跨域的请求,没有使用Ajax技术,script标签src导入的外部文件,文件中的内容,都会按照JavaScript程序来执行,在后端程序中调用前端定义的函数程序,后端程序调用前端函数时输入后端操作数据获取的数据结果 作为实参。
3.2 步骤
(1)定义js程序定义变量定义函数,函数必须有一个形参存储后端程序输入的实参数据,函数程序的内容是操作这个形参也就是操作后端返回的程序。
(2)定义一个script标签,标签src属性的属性值是 跨域请求的url地址,同时携带参数数据 有一个参数一定是 调用函数的函数名称。
3.3 步骤演示
后端程序员提供的解决跨域访问的方法,和前端程序员没有关系,定义后端程序代码 让 所有的前端程序都可以访问后端的数据,后端程序告诉服务器这个后端程序的数据任何前端请求都可以访问,服务器就不再执行跨域访问拦截数据的操作。
二、服务器代理 proxy
2.1 步骤
(1)修改 Nginx或者 Apache 服务器文件,目前博主使用的是Nginx代理
(2)在配置文件中的 server{ }中,一般是在最先方定义服务器代理
location /php1 {
proxy_pass 'http://localhost/bk_2123/week6_day01/04_proxy/demo.php' ;
}
location 服务器代理关键词
/php1 服务器代理名称
proxy_pass 设定服务器代理的跨域url地址
'http://localhost/bk_2123/week6_day01/04_proxy/demo.php' 跨域地址
; 必须使用分号结束
设定好之后 一定要重启服务器
(3)在ajax函数中设定url请求地址
2.2 步骤展示
(1)修改nginx服务器文件
(2)在ajax函数中设定url请求地址
三、jsonp
3.1 核心原理
通过script标签属性scr属性来导入跨域的请求,没有使用Ajax技术,script标签src导入的外部文件,文件中的内容,都会按照JavaScript程序来执行,在后端程序中调用前端定义的函数程序,后端程序调用前端函数时输入后端操作数据获取的数据结果 作为实参。
3.2 步骤
(1)定义js程序定义变量定义函数,函数必须有一个形参存储后端程序输入的实参数据,函数程序的内容是操作这个形参也就是操作后端返回的程序。
(2)定义一个script标签,标签src属性的属性值是 跨域请求的url地址,同时携带参数数据 有一个参数一定是 调用函数的函数名称。
3.3 步骤演示