2015-04-10 1 views
-1

Я хотел бы получить данные страницы с веб-сервера, в котором URL являетсяКак я могу запросить веб-страницу, которая является файлом .txt?

http://www.xxxx.com/data.txt

Есть ли способ, с клиентской стороны Javascript, чтобы сделать это? Нужно ли настраивать веб-сервер для его разрешения?

Джон

+0

Он будет работать так же, как запрашивать обычную HTML-страницу. – v010dya

+1

Вы попробовали это, чтобы посмотреть, что произойдет? –

+1

Просмотрите https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest, если вы хотите использовать JS-решение или jQuery '.ajax()', '.get()', если вы как уровень абстракции. –

ответ

0

Вы не можете сделать это в стороне клиента JavaScript, из-за CORS. Если сервер, на который вы запрашиваете данные, поддерживает CORS, вы можете сделать это на стороне клиента. Однако, если сервер, на который вы запрашиваете данные, не поддерживает CORS, вам необходимо сделать серверную часть запроса и отправить его на клиентскую сторону.

Я бы сделал эту серверную часть в приложении Node, а затем извлек данные с вашей HTML-страницы из приложения Node. Вот небольшой скрипт для этого.

var express = require("express"), 
    app = express(), 
    request = require("request"); 

var port = process.env.VCAP_APP_PORT || 8080; 

app.listen(port); 

app.get("/data", function (req, res) { 
    request.get("http://www.xxxx.com/data.txt").pipe(res); 
}); 

И затем с помощью JQuery на стороне клиента вы можете сделать следующее.

$.get("/data", function(data) { 
     console.log(data); 
    }); 
0

В чистом JavaScript:

var requestFile = new XMLHttpRequest(); 
requestFile.open('GET', 'http://www.xxxx.com/data.txt'); 
requestFile.onload = function() { 
    // Here's your text file content ie. requestFile.responseText 
    console.log(requestFile.responseText); 
}; 
// Retrieve the text file 
requestFile.send(); 

Или с JQuery

$.get('http://www.xxxx.com/data.txt', function(data) { 
    console.log(data); 
}); 
+0

это не работает, если сервер, на который он запрашивает данные, поддерживает CORS –

+0

Если текстовый файл и ** javascript-файл ** находятся в 'том же домене ', то не нужно ** CORS ** или ** Nodejs ** –

+0

Плакат выглядит так, будто они пытались запросить файл из другого домена. –

Смежные вопросы