1. 程式人生 > >Java-14-解決html跨域訪問Java後臺問題

Java-14-解決html跨域訪問Java後臺問題

最近繼續蛋疼啊,各種問題各種搞,本次不扯淡、開門見山。要是喜歡就評論“666”

這兩天在搞html訪問後臺介面,發現跨域是個問題,解決這個問題需要ajax請求做配置、Java介面增加適配。

html中ajax請求:

$.ajax({
              type: "POST",
              url: "http://192.168.2.120:8093/api/getRoute",
              data: {routeKeyword:''},
              dataType: 'jsonp',//跨域訪問關鍵配置
              jsonp:'jsoncallback',//跨域訪問關鍵配置
              crossDomain: true,//跨域訪問關鍵配置
              success: function (rs) {
//                  console.log(rs);
              },
              error: function( xhr, textStatus, errorThrown ) {

//                  console.log(errorThrown);
              }

Java介面

 @ResponseBody
    @RequestMapping(value = "/getRoute", method ={RequestMethod.GET, RequestMethod.POST}, produces = "application/json; charset=utf-8")
    public void getAllBusRoute(HttpServletRequest request,HttpServletResponse response) throws IOException {
//         TODO 支援跨域訪問
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Credentials", "true");
        response.setHeader("Access-Control-Allow-Methods", "*");
        response.setHeader("Access-Control-Allow-Headers", "Content-Type,Access-Token");
        response.setHeader("Access-Control-Expose-Headers", "*");

        String jsoncallback = request.getParameter("jsoncallback");// 客戶端請求引數
        String result = "········";
        String routeKeyword = request.getParameter("routeKeyword");

        JSONObject rr = JSONObject.parseObject(result);
        if (rr==null){
            return;
        }

        String json = rr.getString("data");
        result = jsoncallback + "("+json+")";
        response.setContentType("application/json;charset=UTF-8");
        PrintWriter writer = response.getWriter();
        writer.print(result);
        writer.flush();
        writer.close();
    }

相關推薦

Java-14-解決html訪問Java後臺問題

最近繼續蛋疼啊,各種問題各種搞,本次不扯淡、開門見山。要是喜歡就評論“666” 這兩天在搞html訪問後臺介面,發現跨域是個問題,解決這個問題需要ajax請求做配置、Java介面增加適配。 html中ajax請求: $.ajax({ type

通過新增filter過濾器 徹底解決ajax 問題(Java)

轉自  https://www.cnblogs.com/laoqing/p/7192473.html?utm_source=itdadao&utm_medium=referral1、在web.xml新增filter<filter><filter-na

CORS解決ajax訪問問題---

/**  * 登入驗證  *   * @author ruoyi  */ @CrossOrigin(origins = "http://127.0.0.1:8020", maxAge = 36000) @Controller public

解決ajax訪問sessionid不一致問題

根據瀏覽器的保護規則,跨域的時候我們建立的sessionId是不會被瀏覽器儲存下來的,這樣,當我們在進行跨域訪問的時候,我們的sessionId就不會被儲存下來,也就是說,每一次的請求,伺服器就會以為是一個新的人,而不是同一個人,為了解決這樣的辦法,下面這種方法可以解決這種跨域的辦法。  

nginx 利用 proxy 反向代理解決 Ajax 訪問,瀏覽器不顯示跳轉後的連結

我們知道,利用nginx rewrite 可以重寫訪問連結,在後面加上last標籤就可以不在瀏覽器顯示跳轉後的連線。那麼如果要跨域跳轉呢? 如果還是使用rewrite,那麼nginx預設會重定向該連結。就算你後面加的last標籤也無濟於事,這樣瀏覽器就會顯示跳轉後的連結。Ajax開發中令人頭疼的問題

windows下nginx 配置代理 解決瀏覽器訪問

1、首先我們要了解什麼是跨域訪問 什麼是跨域? 跨域,指的是瀏覽器不能執行其他網站的指令碼。它是由瀏覽器的同源策略造成的,是瀏覽器對javascript施加的安全限制。 所謂同源是指,域名,協議,埠均相同,不明白沒關係,舉個栗子: url 說明 是否跨域

解決ajax訪問問題

應用場景   A 專案訪問 B 專案 某個方法的資源,首先貼出A的請求js $(document).ready(function () { var id = $("#zyy_user_id").val(); if(id == null || id ==''

springcloud專案閘道器升級:gateway替代zuul以及解決gateway訪問問題

注:Spring Cloud Gateway建立在Spring Framework 5,Project Reactor和Spring Boot 2之上,使用非阻塞API。 Websockets得到支援,並且由於它與Spring緊密整合,所以將會是一個更好的

解決ajax訪問獲取資料返回json的方法

前段時間需要做一個iOSAPP  ,但是資料需要從伺服器上獲取,就想到了介面的辦法,html頁面獲取上傳到伺服器上的資料,發現在使用ajax提交返回json時候,提示No 'Access-Control-Allow-Origin' header is present on

關於解決Flex訪問的沙箱衝突問題

當Flex訪問WebService服務時,在本地能夠正常訪問,當部署到Web容器中釋出為Web服務後,再呼叫WebService,此時就會被拒絕訪問,這就是Flex跨域訪問的沙箱衝突問題。 解決方法一:跨域訪問被拒絕是因為提供服務方沒有配置安全策略檔案,即crossdoma

解決Nginx訪問

在nginx.conf中配置 add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Meth

django如何解決Ajax訪問問題?

解決跨域問題,有兩個方法:1.使用jsonp 2.使CORS生效 使用jsonp方法,需要讓伺服器端放回jsonp格式的response,如Django可以加jsonp相關的decorator,如:

express解決ajax訪問session失效問題

最近在學習express,就用以前做的專案來進行express前後端分離的練手了,在做登陸註冊的時候發現跨域的時候,session的值是會失效的,導致session裡面的資料獲取為undefined,網上找資料加上自己的不斷嘗試,終於找到了解決方法,簡單記錄一下解決方法。 1、客戶端因為session原則上是

java設定響應頭,解決訪問限制

public class testFilter implements Filter { public void doFilter(ServletRequest request, ServletResponse resp, FilterChain chain)

兩個java項目,訪問時,瀏覽器不能正確解析數據問題

back false callback require autowire data category 解析 als @Controller@RequestMapping(value = "api")public class ApiItemCatController { @

java服務端解決js的問題 CORS(資源共享) 的配置

nginx相容跨域上傳 相容情況: 各種新版本的ie10,firefox,opera,safari,chrome以及移動版safari和Android瀏覽器 ie9及一下版本請使用flash方式來相容 通過OPTIONS請求握手一次的方式實現跨根域傳送請求,需要服務端配置

Java後臺解決前端問題

需要把當前類加到專案裡面的資料夾下 import org.springframework.boot.web.servlet.MultipartConfigFactory; import org.spr

java B2B2C Springboot仿淘寶電子商城系統-spring cloud 訪問

1、在閘道器中配置 @EnableZuulProxy @SpringBootApplication public class ZuulApplication { @Bean public CorsFilter corsFilter() { final Ur

java後臺+vue前端,解決jsonp問題(有資料返回的,但是Response的body或者data為空)

 前端Vue採用jsonp方法訪問後臺資料 前端請求程式碼: getAllList() { //匯入Vue-resource.js,通過this.$http發起資料請求 //this.$http.get('url').then(function(result){})

解決java前後端分離的問題

<!-- 解決跨域訪問的問題 --> <filter> <filter-name>cors</filter-name> <filter-class>gin.filter.SimpleCORSFilter</f