2018-07-06

  • loan balance 借款余額
// Encode the user's input as query parameters in a URL
var url = "getLenders.php" + // Service url plus
"?amt=" + encodeURIComponent(amount) + // user data in query string
"&apr=" + encodeURIComponent(apr) +
"&yrs=" + encodeURIComponent(years) +
"&zip=" + encodeURIComponent(zipcode);

encodeURIComponent()

//使用XMLHttpRequest對(duì)象獲取URL中的內(nèi)容
var req = new XMLHttpRequest(); // Begin a new request

XMLHttpRequest
XMLHttpRequest 是一個(gè) API,它為客戶端提供了在客戶端和服務(wù)器之間傳輸數(shù)據(jù)的功能。它提供了一個(gè)通過 URL 來獲取數(shù)據(jù)的簡單方式,并且不會(huì)使整個(gè)頁面刷新。這使得網(wǎng)頁只更新一部分頁面而不會(huì)打擾到用戶。XMLHttpRequestAJAX 中被大量使用。

雖然名字含有XML ,但該對(duì)象可以接受任何數(shù)據(jù)類型而不僅僅為XML,而且它支持的協(xié)議類型不限于HTTP(包括file,ftp)

如果你的連接涉及從服務(wù)器接收事件或者數(shù)據(jù),可以考慮采用通過 EventSource接口使用 server-sent events 服務(wù)器事件。至于全雙工通信,使用WebSockets 是一個(gè)更好的選擇。

req.open("GET", url); // An HTTP GET request for the url

XMLHttpRequest.open()

req.send(null); // Send the request with no body
// Before returning, register an event handler function that will be called
在返回值之前,注冊(cè)事件句柄
// at some later time when the HTTP server's response arrives. This kind of
會(huì)在之后調(diào)用       當(dāng)HTTP 服務(wù)器 響應(yīng)到達(dá)
// asynchronous programming is very common in client-side JavaScript.
這種異步的 編程 在 客戶端 JS非常普遍。
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200) {
// If we get here, we got a complete valid HTTP response
如果執(zhí)行到這里,我們獲得了完全有效的 HTTP 響應(yīng)
var response = req.responseText; // HTTP response as a string
var lenders = JSON.parse(response); // Parse it to a JS array
// Convert the array of lender objects to a string of HTML
把借款對(duì)象數(shù)組 轉(zhuǎn)換 為 HTML字符串
var list = "";
for(var i = 0; i < lenders.length; i++) {
list += "<li><a href='" + lenders[i].url + "'>" +
lenders[i].name + "</a>";
}
// Display the HTML in the element from above.
把上面的HTML元素在網(wǎng)頁中顯示出來
ad.innerHTML = "<ul>" + list + "</ul>";
}
}
}
// Chart monthly loan balance, interest and equity in an HTML <canvas> element.
在<canvas> 畫布中繪制 月貸款余額、利息和股本 表格
// If called with no arguments then just erase any previously drawn chart.
如果不傳入任何參數(shù),相當(dāng)于清空畫布上之前所畫的表格
function chart(principal, interest, monthly, payments) {
var graph = document.getElementById("graph"); // Get the <canvas> tag
使用js在canvas中繪圖之前得獲取canvas
graph.width = graph.width; // Magic to clear and reset the canvas element
設(shè)置畫布得寬度
// If we're called with no arguments, or if this browser does not support
如果不傳入任何參數(shù),或者瀏覽器不支持canvas 則返回
// graphics in a <canvas> element, then just return now.
if (arguments.length == 0 || !graph.getContext) return;
// Get the "context" object for the <canvas> that defines the drawing API
獲取繪圖得 上下文對(duì)象,其中定義了繪圖API
var g = graph.getContext("2d"); // All drawing is done with this object
所有得繪圖工作都是這個(gè)對(duì)象完成得
var width = graph.width, height = graph.height; // Get canvas size
獲取canvas得寬度
// These functions convert payment numbers and dollar amounts to pixels
這些函數(shù) 把 支付額度 和 額 轉(zhuǎn)換為圖形(像素)
function paymentToX(n) { return n * width/payments; }
function amountToY(a) { return height-(a * height/(monthly*payments*1.05));}
// Payments are a straight line from (0,0) to (payments, monthly*payments)
g.moveTo(paymentToX(0), amountToY(0)); // Start at lower left
從左下角開始
g.lineTo(paymentToX(payments), // Draw to upper right
畫到右上角
amountToY(monthly*payments));
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • odoo自帶附件管理功能,但有時(shí)候我們需要先預(yù)覽附件再選擇,這里我親測了一下,可用。如果有相同需求的朋友可以參考一...
    小尤root閱讀 2,403評(píng)論 0 0
  • 網(wǎng)絡(luò)通信 使用網(wǎng)絡(luò)把多方連接在一起,然后進(jìn)行數(shù)據(jù)傳遞,即把數(shù)據(jù)從一方傳遞給另外一方為了讓在不同的電腦上運(yùn)行的軟件,...
    Ian952700閱讀 214評(píng)論 0 1
  • Redis 是速度非常快的非關(guān)系型(NoSQL)內(nèi)存鍵值數(shù)據(jù)庫,可以存儲(chǔ)鍵和五種不同類型的值之間的映射。 鍵的類型...
    hayes0420閱讀 146評(píng)論 0 0
  • Alibaba 一面 ?說一下你怎么學(xué)習(xí)安卓的? ?項(xiàng)目中遇到哪些問題,如何解決的? ?Android事件分發(fā)機(jī)制...
    松愛家的小秦閱讀 265評(píng)論 0 0
  • 歡迎使用 Cmd Markdown 編輯閱讀器 我們理解您需要更便捷更高效的工具記錄思想,整理筆記、知識(shí),并將其中...
    趙詣_fcae閱讀 177評(píng)論 0 0