成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

JSONP解析--可運行的代碼

qujian / 2007人閱讀

摘要:考慮到安全問題,一個域名的只能發(fā)起對自己的域名的請求,否則就是跨站的,這是不被允許的。有人因此出,利用這一個特點即可發(fā)起跨站的腳本請求,并傳遞跨站數(shù)據(jù)給客戶端。此時,站返回的數(shù)據(jù)已經(jīng)成功的傳遞給了站的客戶端。

考慮到安全問題,一個域名的js只能發(fā)起對自己的域名的請求,否則就是跨站的,這是不被允許的。但是,標簽script內(nèi)加載的腳本是不受此限制的。有人因此hack出JSONP,利用這一個特點即可發(fā)起跨站的腳本請求,并傳遞跨站數(shù)據(jù)給客戶端。本文對此技術(shù)驗證。

我們會創(chuàng)建兩個node服務(wù),分別為8081、8082兩個端口,扮演當前站點和跨域站點。假設(shè)我從服務(wù)器A加載一個HTML文件,文件內(nèi)通過腳本標簽發(fā)起對跨域站點B的請求。B站希望返回數(shù)據(jù){msg:1}給A站的客戶端。

A站點。服務(wù)器文件home.js,提供靜態(tài)首頁服務(wù)
    var express = require("express");
    var app = express();
    var path = require("path")
    var public = path.join(__dirname, "public")
    app.use("/",express.static(public))
    var server = app.listen(8081, function () {
      console.log("home site started ")
    })
    
B站點。提供JSONP服務(wù)。文件名為:cors.js
    var express = require("express");
    var app = express();
    app.get("/jsonp/:callback",function (req, res) { 
      var callback = req.params.callback
      console.log(callback)
      res.end(callback+"({msg:1})");
    })
    var server = app.listen(8082, function () {
      console.log("CORS Server started")
    })
其首頁index.html:
  

啟動服務(wù)器
   node home.js
   node cors.js

訪問localhost:81,看到一個對話框顯示1。此時,B站返回的數(shù)據(jù)已經(jīng)成功的傳遞給了A站的客戶端。

完成。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/91327.html

相關(guān)文章

  • AJAX學習筆記 - 通訊格式

    摘要:本文章記錄本人在深入學習中看書理解到的一些東西,加深記憶和并且整理記錄下來,方便之后的復習。格式數(shù)據(jù)極其的冗長。但是使用格式還是可能比實際的數(shù)據(jù)占用更多的空間。該字符串通過或者轉(zhuǎn)換為一個本地的對象。 本文章記錄本人在深入學習Javascirpt AJAX中看書理解到的一些東西,加深記憶和并且整理記錄下來,方便之后的復習。 避免使用 XML 沒有哪種格式從始至終比其他格...

    番茄西紅柿 評論0 收藏0
  • 關(guān)于ajax,json以及jsonp

    摘要:中間部分由或多個以,分隔的關(guān)鍵字值對構(gòu)成,關(guān)鍵字字符串和值之間以分隔數(shù)組結(jié)構(gòu)以開始,結(jié)束。 Q:AJAX以何種格式來交換數(shù)據(jù)?跨域的需求如何解決? A:用JSON來傳數(shù)據(jù),靠JSONP來跨域(具體參見下文) AJAX 創(chuàng)建對象 AJAX = Asynchronous(英[e??s??kr?n?s]) JavaScript and XML(異步的 JavaScript 和 XML)。...

    alighters 評論0 收藏0
  • 利用Jsonp實現(xiàn)跨域請求,spring MVC+JQuery

    摘要:慣例上瀏覽器提供回調(diào)函數(shù)的名稱當作送至服務(wù)器的請求中命名查詢參數(shù)的一部分,例如服務(wù)器會在傳給瀏覽器前將數(shù)據(jù)填充到回調(diào)函數(shù)中。 1 什么是Jsonp? JSONP(JSON with Padding)是數(shù)據(jù)格式JSON的一種使用模式,可以讓網(wǎng)頁從別的網(wǎng)域要數(shù)據(jù)。另一個解決這個問題的新方法是跨來源資源共享。 由于同源策略,一般來說位于www.42du.cn的網(wǎng)頁無法與不是 www.42du...

    xiangzhihong 評論0 收藏0
  • PHP筆試面試題精選(一)

    摘要:,跨站腳本攻擊。實際發(fā)的請求就是,用于表示這是一個請求。,用于告知服務(wù)器根據(jù)這個參數(shù)獲取回調(diào)函數(shù)的名稱,通常約定就叫。,回調(diào)函數(shù)的名稱,也是前面參數(shù)的值,可省略,會自動生成。 本次課程主要圍繞 PHP 面試和筆試中經(jīng)常會出現(xiàn)的一些知識點,但是面試官會在筆試題基礎(chǔ)上深入擴展,那么你知道如何更好的回答讓面試官滿意嗎?題目收集自騰訊,迅雷,美圖等公司的筆試面試題,以及本人面試經(jīng)歷中印象中的知...

    JohnLui 評論0 收藏0
  • 關(guān)于javascript跨域及JSONP原理與應(yīng)用

    摘要:因為同源策略的限制,我們不能在與外部服務(wù)器進行通信的時候使用。這個是跨域服務(wù)器取數(shù)據(jù)的接口,參數(shù)為回調(diào)函數(shù)的名字,返回的格式為原理首先在客戶端注冊一個然后把的名字傳給服務(wù)器。 一、同源策略 同源策略,它是由Netscape提出的一個著名的安全策略,現(xiàn)在所有的可支持javascript的瀏覽器都會使用這個策略。 為什么需要同源策略,這里舉個例子: 假設(shè)現(xiàn)在沒有同源策略,會發(fā)生什么事...

    CoderBear 評論0 收藏0

發(fā)表評論

0條評論

qujian

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<