鍍金池/ 問(wèn)答/HTML/ JS控制臺(tái)報(bào)錯(cuò)401的跨域問(wèn)題如何解決?

JS控制臺(tái)報(bào)錯(cuò)401的跨域問(wèn)題如何解決?

$(function () {
    var form = new FormData();
    form.append("grant_type", "authorization_code");
    form.append("code", "XS1lrj");
    form.append("redirect_uri", "htt");
    form.append("client_id", "upluscaipushare");
    form.append("client_secret", "DqaGnKUN3D_Oc9");

    var settings = {
      "async": true,
      "crossDomain": true,
      "url": "",
      "method": "POST",
      "headers": {
        Authorization: 'Basic ' + btoa(user + ':' + password),
        'Content-Type': 'application/vnd.google-earth.kml+xml; charset=utf-8'
      },
      "processData": false,
      "contentType": false,
      "mimeType": "multipart/form-data",
      "data": form
    }

    $.ajax(settings).done(function (response) {
      console.log(response);
    });
  });

這段代碼 別人運(yùn)行可以 但是我個(gè)人運(yùn)行就一直是401 無(wú)權(quán)限錯(cuò)誤 說(shuō)是跨域 不知道該怎么解決

回答
編輯回答
乞許

能改服務(wù)器嗎?
能的話,在服務(wù)器中加個(gè)filter,如下

package Fil;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet Filter implementation class Fil
 */
@WebFilter("/*")
public class Fil implements Filter {

    /**
     * Default constructor. 
     */
    public Fil() {
        // TODO Auto-generated constructor stub
    }

    /**
     * @see Filter#destroy()
     */
    public void destroy() {
        // TODO Auto-generated method stub
    }

    @Override  
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { 
            HttpServletResponse response = (HttpServletResponse) res;
            response.setHeader("Access-Control-Allow-Origin", "*");
            response.setHeader("Access-Control-Allow-Methods", "*");
            response.setHeader("Access-Control-Expose-Headers", "Content-Length,Content-Range");
            response.setHeader("Access-Control-Allow-Headers", "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With,Range,Content-Length");
            chain.doFilter(req, res);  
    }
    
    /**
     * @see Filter#init(FilterConfig)
     */
    public void init(FilterConfig fConfig) throws ServletException {
        // TODO Auto-generated method stub
    }

}

不能的話,用jsonp。

2018年3月7日 04:19