На данный момент ничего не сломано. :) Я просто хочу получить какую-то производительность.
У меня есть форма с цепочкой выбора (один выпадающий список изменяется, а второй выпадающий параметр изменяется). Прямо сейчас моя форма выполнит ajax-вызов на другую страницу и получит содержимое в виде строки данных json. Это быстро, но если данные уже были извлечены (например, сохранены в памяти), изменения будут мгновенными, а не небольшой задержкой. Могу ли я изменить вызов этой функции на что-то, что выполняется на странице? Например, jQuery Autocomplete делает это (посмотрите на исходный код). Прямо сейчас, когда вы измените значение для операционной системы, список моделей изменится. Если бы я загрузил модель в память, мне нужно было бы смоделировать строку json, чтобы указать, какие параметры соответствуют операционным системам.
Другими словами, могу ли я создать строку json и сохранить ее в памяти, а затем просто сослаться на эти данные вместо отдельного вызова ajax?
function updateModels(i){
var pltfrm = $(i).val();
var firstOption = $(i);
var model = firstOption.parent().next().find('.model');
$.getJSON("index.cfm?do=misc.getModels&platform=" + pltfrm,
function(j){
var options = '';
for (var i = 0; i < j.length; i++)
{
options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
}
model.html(options);
});
}
Мои данные JSON в настоящий момент отформатированы для ОС LINUX:
[
{"optionValue":"","optionDisplay":"Select a model"},
{"optionValue":"Dell 2850","optionDisplay":"Dell 2850"},
{"optionValue":"Dell 2950","optionDisplay":"Dell 2950"},
{"optionValue":"Dell 2970", "optionDisplay":"Dell 2970"},
{"optionValue":"Dell 6850", "optionDisplay":"Dell 6850"},
{"optionValue":"Dell R710", "optionDisplay":"Dell R710"}
]
Это очень низкий приоритет , но я знаю, что это поможет производительности, поэтому, если у вас будет время и вы захотите поработать со мной, я, безусловно, это ценю.