хранение скрытых идентификаторов, а затем отправка их с помощью ajax, лучшие практики? - PullRequest
0 голосов
/ 11 апреля 2009

У меня есть список сообщений с идентификаторами элементов как «message» + id (message1, message2 и т. Д.) Когда пользователь делает запрос AJAX из любого конкретного сообщения, я хочу получить доступ только к идентификатору. я должен удалить идентификатор из идентификатора сообщения в jquery перед отправкой или сделать это на стороне сервера? Или существует более простой способ представления идентификатора на веб-странице для каждого сообщения?

Ответы [ 3 ]

1 голос
/ 11 апреля 2009

Вы можете прикрепить идентификатор сообщения в качестве атрибута к самому элементу DOM. В mootools это

Elm.set('messageId',12);//12 is an arbitrary message id I chose for this example.
//get it
alert(Elm.get('messageId'));

Я на 100% уверен, что в JQuery есть что-то очень похожее. Но вырезать сам идентификатор, используя JS, из строки с заранее известным форматом не так сложно.

0 голосов
/ 11 апреля 2009

В зависимости от того, как работает остальная часть вашей страницы, вы можете обернуть каждый элемент в тег формы и использовать скрытое поле для идентификатора. Потенциально выполнение этого в сочетании с плагином jquery forms (http://www.malsup.com/jquery/form/) может сэкономить вам некоторые усилия по разработке в целом.

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

В любом случае, я бы определенно рекомендовал отправлять значение id на сервер в вашем запросе ajax, а не извлекать значение из строки на сервере. Это чище и лучше с точки зрения разделения интересов.

0 голосов
/ 11 апреля 2009

Пользователь должен что-то щелкнуть, верно? Если это ссылка, я бы поместил идентификатор где-нибудь в вызов функции onclick; если это кнопка, то же самое относится и к скрытому вводу формы. То, что вы делаете все это с помощью jQuery, упрощает, но не имеет особого значения.

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