Ajax请求跨域问题

Ajax请求跨域问题

  1. jsonp方案

    只适用于get请求的跨域,基本原理是将返回JSON结果封装成js函数代码。js代码资源和图片是允许跨域访问。

    /hello ---> {"msg":"hello json"}

    jsonp模式 /hello --> 函数名({"msg":"hello json"});

  2. Cors方案(项目采用方案)

    跨域资源共享,在服务器端设置respones响应header信息。

    httpResponse.setHeader("Access-Control-Allow-Origin", "*"); httpResponse.setHeader("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE");

    提示:可以利用Filter或拦截器设置跨域参数。 在SpringBoot可以使用@CrossOrigin(origins={"*"})注解

  3. 代理方案

    如果调用第三方服务,不能使用前两种情况,可以写代理项目。在代理项目中用Java访问服务,不涉及资源跨域问题。

    Ajax--->代理工程--java/设置cors参数-->微信服务

你可能感兴趣的:(Ajax请求跨域问题)