2015-07-08 3 views
0

у меня есть этот текстовый файл, и в нем:JQuery - Чтение данных из текстового файла и присвоить разные переменные

название (Вот название, которое получает вставляется в заголовке элемент) тела (Вот текст тела, который вставлен в элемент тела)

и я хочу, чтобы jquery вставлял заголовок в элемент заголовка и тело в элемент тела. Возможно ли это, или мне нужно использовать отдельные файлы txt для каждого контента? Я новичок в jquery, так что это не очень очевидно для меня.

У меня есть этот код до сих пор:

$(function(){ 
 
    $("#title").load("content/home.txt"); 
 
    $("#body").load("content/home.txt"); 
 
});

Если бы это было трудно понять, я надеюсь, что этот код будет лучше объяснить.

+0

Javascript не может читать файлы в вашей файловой системе без участия пользователя. Вам нужно будет предоставить диалог выбора файла, тогда пользователю нужно будет выбрать файл для открытия. –

+0

Оформить эту ссылку http://www.sitepoint.com/jquery-read-text-file/ Как только вы загрузите файл, вы можете применить его к своей DOM. – kjy112

+0

Если это контент на вашем сервере, используйте объекты JSON и Ajax. Будет более эффективным. – Mateutek

ответ

1

Простой:

Есть файл (doc.json) с содержимым:

{ 
    "title" : "some title", 
    "body" : "some body text" 
} 

И ваша страница

$.getJSON("doc.json", function(data) { 
    $("#title").text(data.title); 
    $("#body").text(data.body); 
}); 
+0

Большое вам спасибо, это была такая трудная задача для меня, и вы просто решили ее. Это, безусловно, лучший ответ! –

+0

Ваш прием, удачи. – BhavO

0

Измените файл Home.txt в HTML-файл, и он будет содержать что-то вроде этого:

<html> 
<head> 
<title>Foo!</title> 
</head> 
<body>Bar!</body> 
</html> 

Затем изменить свой код этой

$(function(){ 
    $("#title").load("content/home.html title"); 
    $("#body").load("content/home.html body"); 
}); 

В качестве альтернативы вы можете сохранить файл в объект JSON, загрузите его с помощью $ .ajax, а затем используйте эти значения. Это сделало бы так, чтобы ваш текстовый файл не был действительным html.

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

+0

Не знаете, как хранить что-то как объект json, как бы я это сделал? –

+0

Объект json - это всего лишь объектная нотация javascript: {Название: 'Foo!', Body: 'Content!'} –

0

Ваш текстовый файл может иметь заголовок, тело которого разделено разделителем. Так, например, ваш файл .txt будет выглядеть следующим образом:

// = is the delimiter 
title=body 

Jquery будет считывать содержимое файла в переменную (используя $ .get). Выделим заголовок и тело в массив с помощью функции раскола():

function ReadFile() { 
     $.get("test.txt", function (response) { 
      var arrStr = response.split("="); 
      $('#txtbox1').val(arrStr[0]); //title 
      $('#txtbox2').val(arrStr[1]); //body 
     }); 
    } 
Смежные вопросы