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对象获取URL中的内容
var req = new XMLHttpRequest(); // Begin a new request

XMLHttpRequest
XMLHttpRequest 是一个 API,它为客户端提供了在客户端和服务器之间传输数据的功能。它提供了一个通过 URL 来获取数据的简单方式,并且不会使整个页面刷新。这使得网页只更新一部分页面而不会打扰到用户。XMLHttpRequestAJAX 中被大量使用。

虽然名字含有XML ,但该对象可以接受任何数据类型而不仅仅为XML,而且它支持的协议类型不限于HTTP(包括file,ftp)

如果你的连接涉及从服务器接收事件或者数据,可以考虑采用通过 EventSource接口使用 server-sent events 服务器事件。至于全双工通信,使用WebSockets 是一个更好的选择。

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
在返回值之前,注册事件句柄
// at some later time when the HTTP server's response arrives. This kind of
会在之后调用       当HTTP 服务器 响应到达
// 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
如果执行到这里,我们获得了完全有效的 HTTP 响应
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
把借款对象数组 转换 为 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元素在网页中显示出来
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.
如果不传入任何参数,相当于清空画布上之前所画的表格
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
设置画布得宽度
// If we're called with no arguments, or if this browser does not support
如果不传入任何参数,或者浏览器不支持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
获取绘图得 上下文对象,其中定义了绘图API
var g = graph.getContext("2d"); // All drawing is done with this object
所有得绘图工作都是这个对象完成得
var width = graph.width, height = graph.height; // Get canvas size
获取canvas得宽度
// These functions convert payment numbers and dollar amounts to pixels
这些函数 把 支付额度 和 额 转换为图形(像素)
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));
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,417评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,921评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,850评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,945评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,069评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,188评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,239评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,994评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,409评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,735评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,898评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,578评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,205评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,916评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,156评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,722评论 2 363
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,781评论 2 351

推荐阅读更多精彩内容

  • odoo自带附件管理功能,但有时候我们需要先预览附件再选择,这里我亲测了一下,可用。如果有相同需求的朋友可以参考一...
    小尤root阅读 2,330评论 0 0
  • 网络通信 使用网络把多方连接在一起,然后进行数据传递,即把数据从一方传递给另外一方为了让在不同的电脑上运行的软件,...
    Ian952700阅读 203评论 0 1
  • Redis 是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的映射。 键的类型...
    hayes0420阅读 141评论 0 0
  • Alibaba 一面 说一下你怎么学习安卓的? 项目中遇到哪些问题,如何解决的? Android事件分发机制...
    松爱家的小秦阅读 262评论 0 0
  • 欢迎使用 Cmd Markdown 编辑阅读器 我们理解您需要更便捷更高效的工具记录思想,整理笔记、知识,并将其中...
    赵诣_fcae阅读 173评论 0 0