[学習] JavaのWeb開発クロスドメインリクエスト

[学習] JavaのWeb開発クロスドメインリクエスト

=================================================

1、JSONP

=================================================

コードは説明できないシンプルで
JSONとJSONPの読み違い    https://kb.cnblogs.com/page/139725/を

パッケージycx.crossdomain.controller。

輸入com.fasterxml.jackson.databind.ObjectMapper。
輸入org.springframework.util.StringUtils。
輸入org.springframework.web.bind.annotation.RequestMapping。
輸入org.springframework.web.bind.annotation.RestController。

インポートのjavax.servlet.http.HttpServletRequest;
インポートのjavax.servlet.http.HttpServletResponse;
輸入てjava.io.PrintWriter;
輸入java.util.HashMapを;
輸入java.util.Map; 

@RestController 
パブリック クラスIndexController { 

    @RequestMapping( "/" 公共の 空隙率(HttpServletRequestのリクエスト、HttpServletResponseの応答)がスロー例外{ 

        地図 <文字列、オブジェクト>データマップ= 新しい HashMapの<> (); 
        dataMap.put( "ステータス"、200 ); 
        dataMap.put( "メッセージ"、 "OK" ); 
        dataMap.put( "データ"、 "Hello World"の); 

        ObjectMapperマッパー = 新しいObjectMapper(); 
        文字列データ = mapper.writeValueAsString(データマップ)。

        PrintWriterアウト = response.getWriter()。
        文字列のコールバック= request.getParameter( "コールバック" )。
        もし(StringUtils.isEmpty(コールバック)){ 
            out.print(データ)。
        } { 
            out.print(コールバック + "(" +データ+ ")" )。
        } 
        out.flush()。
        out.close(); 
    } 
}

 

<!DOCTYPE HTML > 
< HTML LANG = "EN" > 
< > 
    < メタ文字コード= "UTF-8" > 
    < タイトル> JSONP </ タイトル> 
    < スクリプトタイプ= "テキスト/ javascriptの" SRC = "JS / jqueryの-3.4。 1.jsは」> </ スクリプト> 
</ ヘッド> 
< 身体> 
< スクリプト> 
    //はCORSポリシーによってブロックされました:いいえ『アクセス制御-許可-起源』
    ヘッダは、要求されたリソース上に存在します。//$アヤックス({ 
    //      タイプ: "GET"、
    //      非同期:偽、
    //      URL: "のhttp:// localhostを:9902"、
    //      成功:機能(結果){ 
    //          console.dir(結果) ; 
    //      } 
    //      エラー:関数(E){ 
    //          console.dir(E); 
    //      } 
    // })。


    $アヤックス({ 
        タイプ:" GET " 
        非同期:
        URL:" のhttp:// localhostを:9902 " 
        データ型:" JSONP "
        JSONP:" コールバック" 
        jsonpCallback:" ハンドラ" 
        成功:関数(結果){ 
            console.dir(結果)。
        }、
        エラー:関数(E){ 
            console.dir(E); 
        } 
    })。
</ スクリプト> 
</ ボディ> 
</ HTML >

 

おすすめ

転載: www.cnblogs.com/yangchongxing/p/11454362.html