Импортируйте массив JS, используя ajax для передачи функции / плагину в JQuery - PullRequest
0 голосов
/ 10 августа 2011

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

Например:

$("#termCloud").jQCloud([{text:'some',weight:10},{text:'thing',weight:8}]);

Однако мне нужно сделать это более динамичнымпоэтому я генерирую массив извне и импортирую, используя ajax.Это то, что я пытаюсь:

(generateArray.asp будет выводить {text:'some',weight:10},{text:'thing',weight:8})

$.ajax({
    url: '/generateArray.asp',
    success: function(data){
        $("#wordCloud").jQCloud([data]);
    }
})

Я перепробовал несколько типов данных и все не удалось.

Проблемапохоже, что в рабочей версии плагин JQCloud получает массив в виде объектов: [object Object],[object Object] где моя версия ajax получает / отправляет его в виде строки: {text:'some',weight:10},{text:'thing',weight:8}

Есть ли способ импортироватьмассив и передать его в функцию / плагин JQCloud в виде правильного массива, а не строки или преобразовать строку в массив для обработки?

Большое спасибо ..

За повторное сопоставление с двумяответы ниже;Я должен отметить, что возвращение не распознается как действительные данные JSON ...

Ответы [ 2 ]

0 голосов
/ 10 августа 2011

Попробуйте:

success: function(data){
        $("#wordCloud").jQCloud([{text: data[0].text, weight: data[0].weight}, {text: data[1].text, weight: data[1].weight}]);
}

Ответ автоматически преобразуется в объекты с помощью функции $ .Ajax (), так как это строка json.

0 голосов
/ 10 августа 2011

Полагаю, вам следует выполнить JSON-анализ переменной данных перед отправкой в ​​плагин:

var json = JSON.parse(data);
$("#wordCloud").jQCloud([json]);

... или вы можете добавить

dataType : 'json'

...Параметр настройки в вызове функции ajax.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...