首页 > 编程知识 正文

jqueryajaxcors跨域,前端ajax跨域解决方案

时间:2023-05-04 09:47:40 阅读:48465 作者:451

自己建立网站的时候,经常会遇到域间的问题。 以下是平时多次实践总结的解决方法。 大家如果有什么更好的想法的话,请互相交流一下~

xmlhttprequestcannotload http://www.im OOC.com/data/che. no ' access-control-allow-origin ' headerispresprentonthererenthererer

解决方法:添加源之间的问题,酷睿。

1 .将response.setheader (访问控制-全部对齐','')添加到过滤器或servlet; 2.response.setheader (' access-control-allow-origin ',''); 放置在接收客户端api的位置

3 .对于servlet,将其放在get或post方法中,jsp页放在第一行

4 .配备过滤器时扔给dofilter () )

----------------springMVC

添加SimpleCORSFilter.java

import java.io.IOException;

导入javax.servlet.filter;

导入javax.servlet.filter chain;

导入javax.servlet.filter config;

导入javax.servlet.servlet exception;

导入javax.servlet.servlet request;

导入javax.servlet.servlet response;

import javax.servlet.http.http无servlet保罗;

importorg.spring framework.stereotype.com ponent;

@Component

publicclasssimplecorsfilterimplementsfilter {

publicvoiddofilter (servletrequestreq,ServletResponse res,FilterChain chain ) throws IOException,ServletException {

http servlet响应=(http servlet响应) res;

response.setheader (' access -控制- allow-origin ',' * ';

response.setheader (访问控制多种方法)、) POST、GET、OPTIONS、DELETE );

response.setheader (' access -控制- max-age ',' 3600 ' );

response.setheader (访问控制- allow-headers (,x-requested-with );

//response.setheader (access-control-allow-headers )、(Content-Type );

//response.set content type (' text/html; charset=UTF-8 ';

//response.setheader (' access -控制- allow-origin ',' * ' );

//response.setheader (访问控制多种方法)、) POST、GET、OPTIONS、DELETE );

//response.setheader (' access-control-max-age ','0' );

//response.setheader (access-control-allow-headers )、)认证、原始、接受、无缓存、x-requeueus

//response.setheader (' access-control-allow-credentials ',' true ' );

//response.setheader (xdomainrequestallowed ),)1);

chain.dofilter(req,res );

}

公共语音输入(filterconfigfilterconfig ) }

公共语音目录

}

添加web.xml

SimpleCORSFilter

com.zhcs.context.simplecorsfilter

SimpleCORSFilter

/APP/*

----------- -或--------------- -请参阅

添加CorsConfigureAdapter.java

importorg.spring framework.context.annotation.configuration;

importorg.spring framework.web.servlet.config.annotation.CORS registry;

importorg.spring framework.web.servlet.config.annotation.enablewebmvc;

importorg.spring framework.web.servlet.config.annotation.webmvcconfigureradapter;

@Configuration

@EnableWebMvc

publicclasscorsconfigureadapterextendswebmvcconfigureradapter {

@Override

公共语音编码映射(corsregistryregistry ) {

super.addcorsmappings(registry );

registry.addmapping((/** );

}

}

在Controller或方法中使用@CrossOrigin注释

@ cross origin (最大值=3600 )。

----------------XML

------------nginx支持域间请求

位置/{

add _ header ' access-control-allow-origin ' ' http://other.subdomain.com ';

add _ header ' access-control-allow-credentials ' ' true ';

add _ header ' access-control-allow-methods ' ' get ';

.

the rest of your configuration here

.

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。