freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

ajax編程技術第四章ajax技術(編輯修改稿)

2024-08-11 17:39 本頁面
 

【文章內容簡介】 ax編程技術 》 415 常見錯誤 ? 編程常見錯誤 ?企圖通過雙擊網頁文件運行它; ? XMLHttpRequest大小寫不正確; ?多寫了對圓括號: 正確: =getData。 錯誤: =getData()。 必須弄清楚,在 JavaScript中: ?函數(shù)名后如果有圓括號,意思就是將函數(shù)的返回值賦給等號左邊的變量; ?沒有圓括號,是將函數(shù)本身賦給等號前的變量。 中國科大 《 Ajax編程技術 》 416 常見錯誤 ? 同源問題 XMLHttpRequest對象有些問題來自于同源問題。在較早版本的瀏覽器中,可以運行來自任何源的任何腳本,由此帶來很嚴重的安全隱患。因此,處于安全的考量,“同源策略”被要求強制執(zhí)行。即 只有來自同一域、同一協(xié)議和同一端口的腳本才可以運行 。 IE不檢驗它從 XMLHttpRequest對象中取回的字段。其中的一個字段就是 HTTPREFERER,它包含用戶所瀏覽頁面的 URL/域名(注意:該字段的值并不總是一個 )。 這意味著 Referer完全可以在客戶端進行偽造。 IE這個的這個安全漏洞 Referer值不可信。解決的辦法之一是,我們可以在編寫Cookie時,將域名 /服務器添加到 cookie中,以便驗證發(fā)出的和接收的同源。 中國科大 《 Ajax編程技術 》 417 常見錯誤 ? 緩存控制: IE主動緩存 為了節(jié)約帶寬資源,瀏覽器會在本地緩存頁面,然后從緩存中找出該頁面而不是從源服務器下載頁面。 這樣一來,當頁面更新后,可能頁面并沒有顯示這種更新。解決的辦法是,強制停止緩存??梢栽诰W頁中插入如下代碼: meta equiv=“Pragma” CONTENT=“nocatch” / meta equiv=“Expires” CONTENT=“1” / 這樣足以使瀏覽器重載該頁面。 但如果使用XMLHttpRequest對象,且請求中包含 GET指令,那么IE將始終緩存該頁面,而決不會重載該頁面 。 中國科大 《 Ajax編程技術 》 418 常見錯誤 ? 緩存問題的解決方法 我們有三種辦法來解決緩存造成的問題。 1. 在 GET請求后添加 querystring,并確保每次運行時, querystring值都不一樣。將日期作為 querystring值是一個好主意: (“GET”,”?id=“ + Number(new Date)+”amp。value=“ + data, true)。 這種“每次輸入不同的 querystring值”的解決方法,從原理上將是一種回避策略。 中國科大 《 Ajax編程技術 》 419 常見錯誤 2. 設置 HTTP頭部的 IfModifiedSince為一個過期的時間: =(“GET”, “?value=“+data, true)。 (“IfModifiedSince”, “Sat,1, Jan 2022 00:00:00 GMT”)。 使用這種方法,可以阻止緩存。 3. 使用 POST 請求。我們將在下一節(jié)討論這種方法。 一般來說,前兩種方法用起來比較順手,第 3種方法可以完全避免緩存的困擾。 中國科大 《 Ajax編程技術 》 420 常見錯誤 ? 跨瀏覽器兼容 在使用 Ajax技術時,最困難的問題是讓應用程序在不同的瀏覽器中都能夠正常運行。實際上,這種想法非常不實際。 愛 XMLHttpRequest應用中,用戶使用的是 IE還是 Mozilla瀏覽器已成為次要問題,主要問題是創(chuàng)建哪個版本瀏覽器的XMLHttpRequest對象。我們需要注意以下問題: ? ActiveX控件不能使用在 IE之外的瀏覽器中; ? 動態(tài) HTTPjihe IE上工作; ? 在某些版本的 Firefox上運行 XMLHttpRequest會崩潰; ? IE不區(qū)別大小寫,而 Mozilla卻區(qū)別大小寫; ? 不同的 IE版本,必須調用不同版本的 MSXML。 ? … 中國科大 《 Ajax編程技術 》 421 POST方法 使用 POST方法替代 GET方法,是另一種解決 IE主動緩存頁面的辦法,它使 Ajax技術提供一個更加無縫的前端。 將 GET方法變成 POST方法,除了需要做: ?將 querystring刪除; ?對發(fā)送的數(shù)據(jù)編碼; ?將它作為跨服務器參數(shù)發(fā)送給 send方法。該參數(shù)仍然是名 /值,與 querystring類似,格式為:value=Contents。但不附加在 URL中,而是使用URL編碼。 中國科大 《 Ajax編程技術 》 422 POST方法 ? 如 POST方法: function sendRequest(data) { if (data==39。delContacts39。) { =39。39。 } else if (data==39。delCalendar39。) { =39。39。 } else if (data==39。delAdverts39。) { =39。39。 } else { var bodyofrequest = getBody(data)。 (“POST”, “”, true)。 //GET變?yōu)?POST,刪除 querystring參數(shù) (ContentType, application/xformurlencoded)。 = getData。 (bodyofrequest)。 } } funct
點擊復制文檔內容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1