跳到主要內容

[開發]JSONP的呼叫方式。


  Jsonp 解決的是跨域 ajax 調用的問題。為什麼要跨域 ajax 調用呢?這樣可以在一個應用中直接在前端通過 js 調用另外一個應用(在不同的域名下)的 API。

  在實際應用中也用到了 Jsonp ,但之前只知道 Jsonp 的一個限制,只能發 get 請求,get 請求的弊端是請求長度有限制。

範例如下:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
        <script>
            /*
             * AJAX 和 JSONP 在 jQuery 中的調用方式看起來極為相像,千萬不要被這種現象迷惑,它們本質上有很大不同。
             * AJAX 是通過 XMLHttpRequest 物件獲取非頁面內容,而 JSONP 是動態的添加<script>標籤來調用伺服器腳本。雖然 jQuery 把 JSONP 作為 AJAX 的一種形式進行了封裝,但 JSONP 並不是 AJAX 的一種形式或一種特例。
             * 請注意:
             * 1. 由於 Jquery 在 Ajax 處理中使用的是 UTF-8 編碼傳遞參數的,所以 Jsonp 處理端用 UTF-8 的編碼最好,這樣省得編碼轉換了,如果不是 UTF-8 記得轉換,否則中文會亂碼。
             * 2. 請求的服務端url最好不要寫成 http://henry.inc/?act=add這樣的,應寫全其為:http://henry.inc/index.php?act=add這樣的,在應用的過程中出現了不相容的情況。             
             * 3. 如果同一個頁面使用多個 Jsonp 的請求,建議默認使用jquery自動生成的隨機函數。否則某個請求將會錯誤。
             */
            var url = 'http://api.open-notify.org/iss-now.json';
            $.ajax({
                url: url,
                dataType: 'jsonp', //指定以 Jsonp 方式執行。
                //jQuery 在我們每次發出 Request 時,會補上一個參數"_",而其內容是每次皆不同的亂數,這是 Javascript 端很常見的迴避 Cache 技巧。由於參數值不相同,每次 Request 都被視為不同,就能避開 Cache 裡的舊資料,強迫每次都將 Request 送至 Server 端執行。
                cache: false, //預設會啟用 Cache 功能,同樣的 Request 第二次不會真的送出,而是直接由 Cache 取回結果。
                jsonp: "callback", //傳遞給請求處理常式或頁面的,用以獲得jsonp回呼函數名的參數名(一般默認為:callback)。
                success: function (data) {
                    console.log('callback success');
                    console.log(data);
                },
                error: function (xhr, status, error) {
                    console.log(status + '; ' + error);
                }
            });
        </script>

瀏覽器的結果:

這個網誌中的熱門文章

[動畫]《航海王》女帝實力多強?一腳把自己從七武海最末,踢進了前三。

  《航海王》中的海賊女帝波雅漢庫克,集實力、美貌與地位為一身的強大女人,前海軍元帥戰國有一句話評價女帝,戰國說「那個女人很強!」   這句話是在頂上戰爭之前,海軍強制召集七武海,女帝終於響應召集的時候,手下傳回總部戰國知道消息後的評價。讓海軍元帥松一口氣,認為是一個很大的援軍或者說戰力,給出這麼高的評價,足以證明女帝的實力!   女帝在頂上戰爭中的表現也是可圈可點的,全程摸魚,抽空就幫路飛……   可是各種特別篇卻無限削弱女帝的實力,女帝在特別篇中的實力可能懸賞都過不了億,單純就是賣賣肉,襯托襯托路飛,讓路飛英雄救美。   特別篇「最強的賞金獵人西德爾」女帝第一集的魅力值和實力都被無限削弱,特別是特別篇的第一集,堂堂七武海竟然淪落到無數次四次落入險境,被路飛搭救,對面只是一幫背著水槍的雜兵,也能抗拒女帝全果的魅力……   本身女帝身為女子之身,也沒有對戰過同等級的強者,再加上特別篇還要拉出來賣肉吸引人氣,所以自然而然很多人就會先入為主的有女帝七武海最弱的想法!   最新劇場版狂熱行動,終於讓女帝火力全開了一次,這才讓觀眾見識到了女帝展現出完整實力有多強……   三番五次的看到路飛被巴雷特打飛,女帝再也忍不了,變身護夫狂魔,實力毫無保留的全開。   而女帝的一腳,成為了影片的亮點,女帝的一腳飛踢,蹬得全身覆蓋了武裝色霸氣龐大身軀的巴雷特殘渣橫飛……   從畫面效果也能看出這一腳威力有多恐怖,如此龐大的巴雷特仿佛被火車撞了一樣。   可惜巴雷特的武裝色霸氣實在太過強大,女帝不能破防,如果沒有武裝色的話,女帝肯定能把巴雷特攔腰踢斷……公公卡普拿山峰練拳法,孫媳婦漢庫克可以拿山峰練腿功。   女帝的實力可以說沒有短板,九蛇的霸氣本就先進,女帝的體術又這麼強大,再配合上與女帝相輔相成的果實能力,你以為女帝是個依靠果實能力的魅惑法師……?其實女帝是個喜歡用體術近戰的暴力分子!   女帝的這一腳,把自己從原本人以為的七武海最末,踢到了七武海靠前的地位。七武海中鷹眼大熊是毫無爭議的前二,這個第三是明哥,還是甚平亦或是女帝,都有可能,誰也排不出來,個人還是覺得女帝可以爭一爭這個第三。至少女帝實力可以排在七武海中上遊了。

[動畫]《一拳超人》第三季動畫的埼玉英雄視覺圖、特報影片、製作團隊和聲優情報公開。

  以 ONE 與村田雄介所創作的超級英雄題材動作漫畫《一拳超人》為原作,第三季電視動畫公開了主角埼玉視覺圖、特報宣傳影片、製作團隊和聲優陣容等情報。   《一拳超人》電視動畫第一季由 MADHOUSE 製作,於 2015 年 10 月開播;第二季改由 J.C.STAFF 製作,於 2019 年 4 月開播。2022 年 8 月宣布動畫第三季製作消息。目前已知第三季店是動畫將與第二季同樣由 J.C.STAFF 擔綱製作。   由 ONE 擔任原作、村田雄介負責作畫的漫畫作品《一拳超人》,描述就職過程中找不到出路的主角「埼玉」,遭遇到要奪走一位少年生命的螃蟹異變人後,回憶起年少年時「想要成為英雄」的想法,於是奮起戰鬥並救下了少年。重拾對於成為英雄的志向後,埼玉苦練了三年、以掉光所有頭髮為代價,化身成毫無弱點的超級英雄,只需一拳便能輕鬆地擊敗怪獸。之後他與弟子傑諾斯一起加入了英雄協會,開始了與眾多英雄對抗各種怪物的生活。

[財經]仁寶大力押寶醫療「賣一台、賺一台」!繼續拚非 PC:目標營收破 6 成

  仁寶電腦於 1 日舉行法說會,2023 年全年度營收為新台幣 9467.15 億元、年減 12%,主要受到 PC 出貨量下降的影響。仁寶總經理翁宗斌表示,上半年因為景氣影響,PC 產業較去年同期下滑,但下半年可以期待 AI PC 的新應用帶動整體 PC 成長,仁寶也預計在今年 6 月出貨 AI PC 相關產品。   仁寶 PC 去年的出貨量為 3,400 萬台,比前一年 3,900 萬台少了 13%,但符合先前提供的全年度的展望。PC 的營收貢獻是 69%、非 PC 是 31%,全年毛利率都較前一年度增加,主要原因為產品組合的持續改善和效率提升。   「今年重點放在產品的獲利毛利率以及轉型:車電、伺服器以及醫療的新產品轉型來提高獲利。 未來希望在 3 年內把 PC 占比降到 40%、非 PC 是 60%。 」翁宗斌說。   關於伺服器和車電市場的發展預估,翁宗斌表示,伺服器營收每年都有 30~40% 的成長,而 AI 伺服器比重相對去年會更高,客戶需求量至少會超過 2 成,「NVIDIA 的架構除了 GPU 之外,也有推出 AI 伺服器,而仁寶也有參與 AI 伺服器需求供應。」   另外在非 PC 新產品的毛利率貢獻中,醫療相關產品的毛利率相對高,「幾乎是賣一台、賺一台」,翁宗斌說。此外,仁寶於 2 月底參與巴塞隆納移動通訊展(MWC),展出衛星物聯網解決方案,主要以地端的接收站為主進行技術開發。   針對全球設廠的布局, 仁寶主要製造基地還是在中國,產能約在 70~80% ,會配合客戶的需求評估在不同的地區設廠。也因此,數位化和自動化管理系統非常重要,可以解決在不同國家需要適應當地文化的問題。   而伺服器的生產於泰國、越南和中國都有製造,外傳戴爾也有計畫去泰國設廠,法人詢問是否仁寶也會跟進,翁宗斌則回應,「看戴爾願意給我們多少單,我們就多幫它生產。」