27 lines
1.2 KiB
JavaScript
27 lines
1.2 KiB
JavaScript
// Synchronously read a text file from the web server with Ajax
|
|
//
|
|
// The filePath is relative to the web page folder.
|
|
// Example: myStuff = loadFile("Chuuk_data.txt");
|
|
//
|
|
// You can also pass a full URL, like http://sealevel.info/Chuuk1_data.json, but there
|
|
// might be Access-Control-Allow-Origin issues. I found it works okay in Firefox, Edge,
|
|
// or Opera, and works in IE 11 if the server is configured properly, but in Chrome it only
|
|
// works if the domains exactly match (and note that "xyz.com" & "www.xyz.com" don't match).
|
|
// Otherwise Chrome reports an error:
|
|
//
|
|
// No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://sealevel.info' is therefore not allowed access.
|
|
//
|
|
// That happens even when "Access-Control-Allow-Origin *" is configured in .htaccess,
|
|
// and even though I verified the headers returned (you can use a header-checker site like
|
|
// http://www.webconfs.com/http-header-check.php to check it). I think it's a Chrome bug.
|
|
function loadFile(filePath) {
|
|
var result = null;
|
|
var xmlhttp = new XMLHttpRequest();
|
|
xmlhttp.open("GET", filePath, false);
|
|
xmlhttp.send();
|
|
if (xmlhttp.status==200) {
|
|
result = xmlhttp.responseText;
|
|
}
|
|
return result;
|
|
}
|