Как я загружаю содержание текстового файла в переменную JavaScript?

В вашем коде ключи String. Но вы пытаетесь найти значение с помощью клавиши Symbol.

В этом случае вы должны использовать опцию symbolize_names.

string = "[{\"id\":null,\"amount\":1,\"price\":1000.0,\"concept_id\":3,\"concept_type\":\"RegisterType\",\"created_at\":null,\"updated_at\":null,\"transaction_sara_id\":null,\"code\":null,\"date_code\":null,\"discount_amount\":null,\"type_discount_id\":null,\"observations\":null}]"

data = JSON.parse(string, symbolize_names: true).first

data[:price] #=> 1000.0
135
задан danb 13 October 2008 в 01:57
поделиться

3 ответа

XMLHttpRequest, т.е. Ajax, без XML.

точный способ Вы делаете это зависит, на какой платформе JavaScript Вы используете, но если мы игнорируем проблемы совместимости, то Ваш код посмотрит что-то как:

var client = new XMLHttpRequest();
client.open('GET', '/foo.txt');
client.onreadystatechange = function() {
  alert(client.responseText);
}
client.send();

Обычно разговор, тем не менее, XMLHttpRequest не доступен на всех платформах, таким образом, некоторый fudgery сделан. Еще раз Ваш лучший выбор состоит в том, чтобы использовать платформу Ajax как jQuery.

Одно дополнительное соображение: это будет только работать, пока foo.txt находится на том же домене. Если это будет на другом домене, то политика безопасности того-же-источника будет препятствовать тому, чтобы Вы читали результат.

132
ответ дан 23 November 2019 в 23:45
поделиться

Если бы Ваш вход был структурирован как XML, то Вы могли бы использовать эти importXML функция. (Больше информации здесь в quirksmode).

, Если это не XML, и нет эквивалентной функции для импорта простого текста, затем Вы могли открыть его в скрытом iframe и затем считать содержание оттуда.

-3
ответ дан 23 November 2019 в 23:45
поделиться

вот то, как я сделал это в jQuery:

jQuery.get('http://localhost/foo.txt', function(data) {
    alert(data);
});
85
ответ дан 23 November 2019 в 23:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: