2014-01-18 6 views
0

У меня есть простая разметка, созданная через AJAX на сервере. Соответствующая строка:

<div id='login_history_resp' 
     class='paginator_slider' 
     DATA-params="{'SLIDER_LEFT_POS':139, 'SLIDER_WIDTH':309, 'HANDLE_WIDTH':165}" > 
    </div> 

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

slider_css = $.parseJSON($('#login_history_resp').data('params')); 

Что я пробовал до сих пор? Я попытался переставить двойные/одинарные кавычки в строке, назначенной параметрам DATA. Я попытался взять двойные кавычки вместе. Я даже пробовал .attr по параметрам DATA. Мне нужно прочитать его как объект, а затем извлечь отдельные свойства. Что я делаю не так? Пожалуйста помоги!

+2

Используйте двойные кавычки и удалить '$ .parseJSON'. jQuery обрабатывает его. http://jsfiddle.net/D37DR/ – undefined

+0

@BlackSheep Используйте двойные кавычки, где? Я попробовал DATA-params = '{"SLIDER ... – Sam

+2

Для свойств это недопустимый JSON. Также вы не должны повторять его, jQuery вызывает' $ .parseJSON' за сценой. – undefined

ответ

3

Два шага здесь:

  1. Изменить кавычки вокруг ваших свойств JSON в двойные кавычки; это not valid JSON.
  2. Метод data автоматически проанализирует ваш JSON, так что не нужно!

HTML-:

<div id='login_history_resp' 
     class='paginator_slider' 
     DATA-params='{"SLIDER_LEFT_POS":139, "SLIDER_WIDTH":309, "HANDLE_WIDTH":165}' > 
</div> 

JavaScript:

slider_css = $('#login_history_resp').data('params'); 
+0

Спасибо, но я попробовал, и он возвращает значение null. Возможно, я что-то делаю неправильно в другом месте AJAX. Позвольте мне проверить еще раз. Я подтвердил ваш ответ. проблема была в другом месте, я обязательно приму ваш ответ. Я все-таки узнал что-то ... – Sam

+0

Evan Hahn. Проблема была в другом месте. Спасибо за вашу помощь. – Sam

Смежные вопросы