成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JSONP

springDevBird / 2077人閱讀

摘要:顯然不能發(fā)起一個請求,所以使用,表單是可以發(fā)起一個請求的,而且可以指定請求的方式。發(fā)送請求我們發(fā)現(xiàn),居然也能發(fā)送請求,那更好了,請求返回的是空字符串,那可比圖片小多了。

數(shù)據(jù)庫

有時候,我們需要長久的存儲數(shù)據(jù),不隨著外界因素的改變而改變,這樣的數(shù)據(jù)棲息地可以稱之為數(shù)據(jù)庫。

version1.0-表面工作 建立一個扣款功能做例子



    
    pay



    

您的賬戶余額: 100

存在的問題

之所以稱之為表面,是因為,所有的操作都是表面現(xiàn)象,當(dāng)頁面刷新時,一切都會回到初始狀態(tài)。而且,別人很容易就能夠獲取你的信息。最好是,我們?nèi)フ{(diào)取數(shù)據(jù)庫里你的信息,然后顯示在頁面上。

version2.0-將操作在后端進行

以往,我們是在前端的代碼中去改用戶的余額?,F(xiàn)在,不,我們?nèi)ズ蠖酥苯痈臄?shù)據(jù)庫里的余額,然后,把后端數(shù)據(jù)庫的金額顯示在前端頁面上。而前端用來向后端發(fā)起一個請求,請求更改數(shù)據(jù)庫里的余額。

>

使用Javascript寫的后端代碼:

與之前區(qū)別在于,這次不需要要用到刷新頁面,當(dāng)然刷新頁面功能也沒問題

與之前區(qū)別在于,這次返回的是一張圖片response.write(fs.readFileSync(你的圖片路徑));

//和之前一樣,讀取數(shù)據(jù)庫中金額,并顯示在頁面上,但這里并不一定會用到這些代碼,因為我們不需要刷新頁面了
if(path === "./"){
    var index_string = fs.readFileSync("./index.html","utf8");
    var amount = fs.readFileSync("./db","utf8");
    index_string.replace("$$amount$$",amount);
    response.setHeader("Content-type","text/html;charset=utf-8");
    response.write(string);
    response.end();
}

//修改數(shù)據(jù)庫中金額,成功后返回一張圖片
else if(path === "/pay"){
    var amount = fs.readFileSync("./db","utf8");
    var newAmount = amount - 1;
    fs.writeFileSync("./db",newAmount);
    response.setHeader("Content-type","image/jpg");
    response.write(fs.readFileSync(你的圖片路徑));
    response.end();
}

優(yōu)點

不用像`