Test xhr request
This commit is contained in:
19
src/scripts/lib/request.js
Normal file
19
src/scripts/lib/request.js
Normal file
@@ -0,0 +1,19 @@
|
||||
module.exports = function(location, callback) {
|
||||
var request = new XMLHttpRequest()
|
||||
|
||||
request.onreadystatechange = function() {
|
||||
if (request.readyState === 4) {
|
||||
if (request.status === 200) {
|
||||
callback(request.responseText, request)
|
||||
}
|
||||
else {
|
||||
callback(null, request)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
request.open("GET", location + (!/[?&]/.test(location) ? "?": "&") + (new Date().getTime()), true)
|
||||
request.setRequestHeader("X-Requested-With", "XMLHttpRequest")
|
||||
request.send(null)
|
||||
return request
|
||||
}
|
||||
16
tests/scripts/lib/request.js
Normal file
16
tests/scripts/lib/request.js
Normal file
@@ -0,0 +1,16 @@
|
||||
var tape = require("tape")
|
||||
|
||||
var request = require("../../../src/scripts/lib/request.js")
|
||||
|
||||
tape("test xhr request", function(t) {
|
||||
var xhr = request("https://api.github.com/", function(result) {
|
||||
try {
|
||||
result = JSON.parse(result)
|
||||
}
|
||||
catch (e) {
|
||||
t.fail("xhr doesn't get a JSON response")
|
||||
}
|
||||
t.same(typeof result, "object", "xhr request get a result")
|
||||
t.end()
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user