forked from javascript-tutorial/en.javascript.info
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
749 additions
and
246 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
<!DOCTYPE HTML> | ||
<html> | ||
<head> | ||
<meta charset="utf-8"> | ||
</head> | ||
<body> | ||
|
||
<button onclick="loadPhones()" id="button">Load phones.json!</button> | ||
|
||
<script> | ||
function loadPhones() { | ||
|
||
let xhr = new XMLHttpRequest(); | ||
|
||
xhr.open('GET', 'phones.json'); | ||
|
||
|
||
xhr.send(); | ||
|
||
|
||
xhr.onreadystatechange = function() { | ||
if (xhr.readyState != 4) return; | ||
|
||
button.innerHTML = 'Complete!'; | ||
|
||
if (xhr.status != 200) { | ||
// handle error | ||
alert(xhr.status + ': ' + xhr.statusText); | ||
} else { | ||
// show result | ||
alert(xhr.responseText); | ||
} | ||
|
||
} | ||
|
||
button.innerHTML = 'Loading...'; | ||
button.disabled = true; | ||
} | ||
</script> | ||
|
||
</body> | ||
</html> |
155 changes: 155 additions & 0 deletions
155
7-network/1-xmlhttprequest/phones-async.view/phones.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,155 @@ | ||
[ | ||
{ | ||
"age": 0, | ||
"id": "motorola-xoom-with-wi-fi", | ||
"imageUrl": "img/phones/motorola-xoom-with-wi-fi.0.jpg", | ||
"name": "Motorola XOOM\u2122 with Wi-Fi", | ||
"snippet": "The Next, Next Generation\r\n\r\nExperience the future with Motorola XOOM with Wi-Fi, the world's first tablet powered by Android 3.0 (Honeycomb)." | ||
}, | ||
{ | ||
"age": 1, | ||
"id": "motorola-xoom", | ||
"imageUrl": "img/phones/motorola-xoom.0.jpg", | ||
"name": "MOTOROLA XOOM\u2122", | ||
"snippet": "The Next, Next Generation\n\nExperience the future with MOTOROLA XOOM, the world's first tablet powered by Android 3.0 (Honeycomb)." | ||
}, | ||
{ | ||
"age": 2, | ||
"carrier": "AT&T", | ||
"id": "motorola-atrix-4g", | ||
"imageUrl": "img/phones/motorola-atrix-4g.0.jpg", | ||
"name": "MOTOROLA ATRIX\u2122 4G", | ||
"snippet": "MOTOROLA ATRIX 4G the world's most powerful smartphone." | ||
}, | ||
{ | ||
"age": 3, | ||
"id": "dell-streak-7", | ||
"imageUrl": "img/phones/dell-streak-7.0.jpg", | ||
"name": "Dell Streak 7", | ||
"snippet": "Introducing Dell\u2122 Streak 7. Share photos, videos and movies together. It\u2019s small enough to carry around, big enough to gather around." | ||
}, | ||
{ | ||
"age": 4, | ||
"carrier": "Cellular South", | ||
"id": "samsung-gem", | ||
"imageUrl": "img/phones/samsung-gem.0.jpg", | ||
"name": "Samsung Gem\u2122", | ||
"snippet": "The Samsung Gem\u2122 brings you everything that you would expect and more from a touch display smart phone \u2013 more apps, more features and a more affordable price." | ||
}, | ||
{ | ||
"age": 5, | ||
"carrier": "Dell", | ||
"id": "dell-venue", | ||
"imageUrl": "img/phones/dell-venue.0.jpg", | ||
"name": "Dell Venue", | ||
"snippet": "The Dell Venue; Your Personal Express Lane to Everything" | ||
}, | ||
{ | ||
"age": 6, | ||
"carrier": "Best Buy", | ||
"id": "nexus-s", | ||
"imageUrl": "img/phones/nexus-s.0.jpg", | ||
"name": "Nexus S", | ||
"snippet": "Fast just got faster with Nexus S. A pure Google experience, Nexus S is the first phone to run Gingerbread (Android 2.3), the fastest version of Android yet." | ||
}, | ||
{ | ||
"age": 7, | ||
"carrier": "Cellular South", | ||
"id": "lg-axis", | ||
"imageUrl": "img/phones/lg-axis.0.jpg", | ||
"name": "LG Axis", | ||
"snippet": "Android Powered, Google Maps Navigation, 5 Customizable Home Screens" | ||
}, | ||
{ | ||
"age": 8, | ||
"id": "samsung-galaxy-tab", | ||
"imageUrl": "img/phones/samsung-galaxy-tab.0.jpg", | ||
"name": "Samsung Galaxy Tab\u2122", | ||
"snippet": "Feel Free to Tab\u2122. The Samsung Galaxy Tab\u2122 brings you an ultra-mobile entertainment experience through its 7\u201d display, high-power processor and Adobe\u00ae Flash\u00ae Player compatibility." | ||
}, | ||
{ | ||
"age": 9, | ||
"carrier": "Cellular South", | ||
"id": "samsung-showcase-a-galaxy-s-phone", | ||
"imageUrl": "img/phones/samsung-showcase-a-galaxy-s-phone.0.jpg", | ||
"name": "Samsung Showcase\u2122 a Galaxy S\u2122 phone", | ||
"snippet": "The Samsung Showcase\u2122 delivers a cinema quality experience like you\u2019ve never seen before. Its innovative 4\u201d touch display technology provides rich picture brilliance, even outdoors" | ||
}, | ||
{ | ||
"age": 10, | ||
"carrier": "Verizon", | ||
"id": "droid-2-global-by-motorola", | ||
"imageUrl": "img/phones/droid-2-global-by-motorola.0.jpg", | ||
"name": "DROID\u2122 2 Global by Motorola", | ||
"snippet": "The first smartphone with a 1.2 GHz processor and global capabilities." | ||
}, | ||
{ | ||
"age": 11, | ||
"carrier": "Verizon", | ||
"id": "droid-pro-by-motorola", | ||
"imageUrl": "img/phones/droid-pro-by-motorola.0.jpg", | ||
"name": "DROID\u2122 Pro by Motorola", | ||
"snippet": "The next generation of DOES." | ||
}, | ||
{ | ||
"age": 12, | ||
"carrier": "AT&T", | ||
"id": "motorola-bravo-with-motoblur", | ||
"imageUrl": "img/phones/motorola-bravo-with-motoblur.0.jpg", | ||
"name": "MOTOROLA BRAVO\u2122 with MOTOBLUR\u2122", | ||
"snippet": "An experience to cheer about." | ||
}, | ||
{ | ||
"age": 13, | ||
"carrier": "T-Mobile", | ||
"id": "motorola-defy-with-motoblur", | ||
"imageUrl": "img/phones/motorola-defy-with-motoblur.0.jpg", | ||
"name": "Motorola DEFY\u2122 with MOTOBLUR\u2122", | ||
"snippet": "Are you ready for everything life throws your way?" | ||
}, | ||
{ | ||
"age": 14, | ||
"carrier": "T-Mobile", | ||
"id": "t-mobile-mytouch-4g", | ||
"imageUrl": "img/phones/t-mobile-mytouch-4g.0.jpg", | ||
"name": "T-Mobile myTouch 4G", | ||
"snippet": "The T-Mobile myTouch 4G is a premium smartphone designed to deliver blazing fast 4G speeds so that you can video chat from practically anywhere, with or without Wi-Fi." | ||
}, | ||
{ | ||
"age": 15, | ||
"carrier": "US Cellular", | ||
"id": "samsung-mesmerize-a-galaxy-s-phone", | ||
"imageUrl": "img/phones/samsung-mesmerize-a-galaxy-s-phone.0.jpg", | ||
"name": "Samsung Mesmerize\u2122 a Galaxy S\u2122 phone", | ||
"snippet": "The Samsung Mesmerize\u2122 delivers a cinema quality experience like you\u2019ve never seen before. Its innovative 4\u201d touch display technology provides rich picture brilliance,even outdoors" | ||
}, | ||
{ | ||
"age": 16, | ||
"carrier": "Sprint", | ||
"id": "sanyo-zio", | ||
"imageUrl": "img/phones/sanyo-zio.0.jpg", | ||
"name": "SANYO ZIO", | ||
"snippet": "The Sanyo Zio by Kyocera is an Android smartphone with a combination of ultra-sleek styling, strong performance and unprecedented value." | ||
}, | ||
{ | ||
"age": 17, | ||
"id": "samsung-transform", | ||
"imageUrl": "img/phones/samsung-transform.0.jpg", | ||
"name": "Samsung Transform\u2122", | ||
"snippet": "The Samsung Transform\u2122 brings you a fun way to customize your Android powered touch screen phone to just the way you like it through your favorite themed \u201cSprint ID Service Pack\u201d." | ||
}, | ||
{ | ||
"age": 18, | ||
"id": "t-mobile-g2", | ||
"imageUrl": "img/phones/t-mobile-g2.0.jpg", | ||
"name": "T-Mobile G2", | ||
"snippet": "The T-Mobile G2 with Google is the first smartphone built for 4G speeds on T-Mobile's new network. Get the information you need, faster than you ever thought possible." | ||
}, | ||
{ | ||
"age": 19, | ||
"id": "motorola-charm-with-motoblur", | ||
"imageUrl": "img/phones/motorola-charm-with-motoblur.0.jpg", | ||
"name": "Motorola CHARM\u2122 with MOTOBLUR\u2122", | ||
"snippet": "Motorola CHARM fits easily in your pocket or palm. Includes MOTOBLUR service." | ||
} | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
var http = require('http'); | ||
var url = require('url'); | ||
var querystring = require('querystring'); | ||
var static = require('node-static'); | ||
var file = new static.Server('.', { | ||
cache: 0 | ||
}); | ||
|
||
|
||
function accept(req, res) { | ||
|
||
if (req.url == '/phones.json') { | ||
// искусственная задержка для наглядности | ||
setTimeout(function() { | ||
file.serve(req, res); | ||
}, 2000); | ||
} else { | ||
file.serve(req, res); | ||
} | ||
|
||
} | ||
|
||
|
||
// ------ запустить сервер ------- | ||
|
||
if (!module.parent) { | ||
http.createServer(accept).listen(8080); | ||
} else { | ||
exports.accept = accept; | ||
} |
Oops, something went wrong.