2015-09-07 2 views
1

У меня есть файл, и я хочу получить строку из этого файла в свой javascript, поэтому я могу что-то с этим сделать. Я нашел способ сделать это, но он немного сломан, так как строка из файла может быть очень большой. Это то, что я использую сейчас:Чтение строки из файла: Javascript?

var text; 
$("#p1").load("smejanje.html"); 
text = $("#p1").text(); 

В HTML:

<p id="p1"> Text </p> 

И ... Он работает (вроде), я использую интервалы, такие вещи, как это, но это, кажется, сделать трюк , Но проблема в том, что этот метод устанавливает текст элемента p1 как строку из файла, а затем получает текст p1. Есть ли способ загрузить DIRECTLY в строку без редактирования элемента html?

ответ

2

Я думаю, что вы ищете что-то вроде этого:

$.ajax({ 
    url: 'smejanje.html', 
    dataType: 'text', 
    success: function(text) { 
     alert(text); 
    } 
}); 

Обратите внимание, что если вы хотите сделать что-то с text, что вам нужно сделать это внутри этой функции обратного вызова, или вы можете вызвать любую функцию вам захотите оттуда и пройдите text в качестве параметра, как это делает код выше, когда он вызывает alert(text).

+0

Я не понимаю, почему, но когда я его пробую, я получаю предупреждение с «[object XMLDocument] "внутри. Может быть, для метода .get нужен xml-файл для работы? –

+0

Ах, вы можете столкнуться с «умным угаданием», которое jQuery делает для загруженных данных. Попробуем явно указать 'dataType' как' 'text'' - я обновил ответ. –

+0

Это отлично работает! Спасибо огромное! –

0

ли, как показано ниже:

var text; 
$.get("smejanje.html", function (data) { 
    console.log(data); 
}); 

Вы должны захватить выход в .get() полного обратного вызова.

+1

ОП попросил получить значение * без * загрузки содержимого в абзац. – j08691

+0

То же самое, что и ответ Майкла, это плохо работает, выглядит как .get нужен xml-файл для работы с ... –

+0

@ НиколаПејић Нет, его не нужно иметь XML. – thecodeparadox

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