Autouzupełnianie (jQuery UI) i lokalne przechowywanie
Po prostu korzystam z tych dwóch narzędzi po dziwnym błędzie. Wykonuję kwerendę AJAX do API, a następnie pobierasz dane JSON, które są przechowywane w localStorage i wyświetlane w panelu autouzupełniania. Problem polega na tym, że w zależności od pochodzenia źródła autouzupełniania panel będzie reagował inaczej.
Oto funkcja wywołania zwrotnego wywołana sukcesem AJAX:
<code>function _company_names(data) { localStorage.setItem('ac_source', JSON.parse(data).Result); // Works fine $("#search_input").autocomplete( "option", "source", JSON.parse(data).Result); // Send an AJAX request $("#search_input").autocomplete( "option", "source", localStorage.getItem('ac_source')); } </code>
Jeśli przekażę JSON.parse (dane). Wynik jako wynik źródła autouzupełniania, będzie dobrze. Jednakże, jeśli przekazam localStorage.getItem ('ac_source'), widget ac wyśle żądanie AJAX (nie używające mojej własnej funkcji) wiejące na wietrze (mój node.js spróbuje go przeanalizować itd.).
Używam localstorage, aby uzyskać dostęp do tych danych z innej części mojego kodu (przechowuj je, aby porównać je z innymi badaniami użytkowników i wyświetlić je, jeśli żądanie jest takie samo).