Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 27.04.2010, 07:38
Интересующийся
Отправить личное сообщение для lousx Посмотреть профиль Найти все сообщения от lousx
 
Регистрация: 25.04.2010
Сообщений: 19

Octane, помогите пожалуйста объединить 2 скрипта.
Нужно, чтобы данные в массиве d заменялись на данные в подгружаемом txt.
1 читает txt (причем, как я понимаю по нажатию кнопки)
2 рисует график.

1 скрипт:
load_text('http://www.site.ru/data.txt');

var req;

function load_text(url) {
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req != undefined) {
    req.onreadystatechange = function() {loadDone();};
    req.open("GET", url, true);
    req.send("");
  } else {
    alert("Can't load file");
  }
}  

function loadDone() {
  if (req.readyState == 4) { 
    if (req.status == 200) {
      alert("loaded:\n" + req.responseText);
    } else {
      alert("error:\n" + req.status + "\n" +req.statusText);
    }
  }
}



Второй:
<script id="source" language="javascript" type="text/javascript">
$(function () {
    var d = [[-373597200000, 315.71], [-370918800000, 317.45], [-368326800000, 317.50], [-363056400000, 315.86], [-360378000000, 314.93], [-357699600000, 313.19], [-352429200000, 313.34], [-349837200000, 314.67], [-347158800000, 315.58], [-344480400000, 316.47], [-342061200000, 316.65], [-339382800000, 317.71], [-336790800000, 318.29], [-334112400000, 318.16], [-331520400000, 316.55], [-328842000000, 314.80], [-326163600000, 313.84], [-323571600000, 313.34], [-320893200000, 314.81], [-318301200000, 315.59], [-315622800000, 316.43], [-312944400000, 316.97], [1159653600000, 379.03], [1162335600000, 380.17], [1164927600000, 381.85], [1167606000000, 382.94], [1170284400000, 383.86], [1172703600000, 384.49], [1175378400000, 386.37], [1177970400000, 386.54], [1180648800000, 385.98], [1183240800000, 384.36], [1185919200000, 381.85], [1188597600000, 380.74], [1191189600000, 381.15], [1193871600000, 382.38], [1196463600000, 383.94], [1199142000000, 385.44]];

    $.plot($("#placeholder"), [d], { xaxis: { mode: "time" } });

    $("#whole").click(function () {
        $.plot($("#placeholder"), [d], { xaxis: { mode: "time" } });
    });

    $("#nineties").click(function () {
        $.plot($("#placeholder"), [d], { xaxis: {
            mode: "time",
            min: (new Date("1990/01/01")).getTime(),
            max: (new Date("2000/01/01")).getTime()
        } });
    });

    $("#ninetynine").click(function () {
        $.plot($("#placeholder"), [d], { xaxis: {
            mode: "time",
            minTickSize: [1, "month"],
            min: (new Date("1999/01/01")).getTime(),
            max: (new Date("2000/01/01")).getTime()
        } });
    });
});
</script>



Содержимое txt:
[[-373597200000, 315.71], [-370918800000, 317.45], [-368326800000, 317.50], [-363056400000, 315.86], [-360378000000, 314.93], [-357699600000, 313.19], [-352429200000, 313.34], [-349837200000, 314.67], [-347158800000, 315.58], [-344480400000, 316.47], [-342061200000, 316.65], [-339382800000, 317.71], [-336790800000, 318.29], [-334112400000, 318.16], [-331520400000, 316.55], [-328842000000, 314.80], [-326163600000, 313.84], [-323571600000, 313.34], [-320893200000, 314.81], [-318301200000, 315.59], [-315622800000, 316.43]]

Не знаю нужны ли крайние квадратные скобки.
Ответить с цитированием
  #12 (permalink)  
Старый 27.04.2010, 08:29
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

1-й скрипт не нужен, раз вы в проекте используете jQuery. В этом фреймворке есть методы для асинхронной загрузки данных.
Ответить с цитированием
  #13 (permalink)  
Старый 27.04.2010, 08:45
Интересующийся
Отправить личное сообщение для lousx Посмотреть профиль Найти все сообщения от lousx
 
Регистрация: 25.04.2010
Сообщений: 19

я повешусь... Держите меня семеро!
Всю ночь не спал, а все оказалось так...

Последний раз редактировалось lousx, 27.04.2010 в 09:08.
Ответить с цитированием
  #14 (permalink)  
Старый 27.04.2010, 09:14
Интересующийся
Отправить личное сообщение для lousx Посмотреть профиль Найти все сообщения от lousx
 
Регистрация: 25.04.2010
Сообщений: 19

Правильно ли я получаю данные из файла data.txt?
$.get("data.txt", function(data){
   alert("Data Loaded: " + data);
 });



Может можно таким образом?
Нужно загрузить массив данных в var d
Это функция, по описанию, только для html и xml
$("#feeds").load("feeds.txt");

Правда #feeds указывает на id=feeds.
Не знаю что там нужно указывать

Последний раз редактировалось lousx, 27.04.2010 в 09:56.
Ответить с цитированием
  #15 (permalink)  
Старый 27.04.2010, 10:44
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Да, метод get выполняет все, что было в 1-м скрипте и даже больше)

Данные в txt-файле лучше храните в формате JSON, тогда можно будет воспользоваться методом $.getJSON, чтобы не мучаться с разбором строки.
Ответить с цитированием
  #16 (permalink)  
Старый 28.04.2010, 16:38
Интересующийся
Отправить личное сообщение для lousx Посмотреть профиль Найти все сообщения от lousx
 
Регистрация: 25.04.2010
Сообщений: 19

Сообщение от Octane
Данные в txt-файле лучше храните в формате JSON
Как? Если записываю их туда не я?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование данных с сервера в JSON frolvict Общие вопросы Javascript 1 04.04.2010 12:26
Автоматическое получение данных из формы Beck jQuery 6 06.11.2009 18:01
Синхронный запрос данных по AJAX Shasoft AJAX и COMET 2 03.03.2009 14:07
Хранимая область данных. PolarWolf Общие вопросы Javascript 17 14.01.2009 18:25
Сохранение данных на стороне клиента средствами Javascript baal1988 Events/DOM/Window 4 24.08.2008 21:32