Проходя HTML обратно в JSON-объект


Я работаю на кусок кода в моем приложении MVC3 и я борюсь, чтобы решить, если то, что я планирую сделать, это плохая идея или нет.

У меня есть фрагмент кода JavaScript, который вызывает в MVC действий, что в свою очередь возвращает HTML-частичное, что я потом вставить в див элемент на моей странице. Ничего сложного там нет.

Однако, вещи изменились, и теперь мне нужно пройти обратно, а также возможное сообщение об ошибке. Я предлагаю отправить это обратно с HTML-частично в рамках JSON-объект.

Это будет выглядеть примерно так:

{
     errorMessage: "things have gone wrong!",
     partial : "<tr><td><a href='#'>Test</a></td><td>0MB</td></tr><tr><td><a href='#'>Test2</a></td><td>1MB</td></tr>"
}

Это, кажется, прагматичный, но, возможно, немного грязный для меня, поэтому я хотел бы мысли сообщества, пожалуйста.

Теперь очевидная альтернатива будет передавать данные таблицы обратно в виде JSON, и разобрать его на стороне клиента. Но это будет боль, даже что-то вроде jQuery шаблоны (пример я поставил упрощается).



3035
3
задан 23 ноября 2011 в 05:11 Источник Поделиться
Комментарии
2 ответа

Я планирую вернуться с более подробным объект JSON:

{
errorMessage: "things have gone wrong!",
data: [
{
link: #,
linkText: Test,
size: 0MB
},
{
link: #,
linkText: Test2,
size: 1MB
}
}

Она движется какой-то обработки от сервера к клиентам, но это более многоразовые. Например, вам нужен второй тип таблице с теми же данными, но с дополнительной колонной. С этом формате JSON, вы не должны касаться кода на стороне сервера, ни для разбора и изменить возвращенный HTML на стороне клиента.

Наконец, если есть ошибка, может быть, вы хотите пропустить всю часть данных:

{
errorMessage: "things have gone wrong!",
}

1
ответ дан 23 ноября 2011 в 10:11 Источник Поделиться

Минуя HTML-это плохая идея, потому что это приведет к жесткой связи. Это будет трудно для вас, чтобы портировать ее на мобильные приложения. Передайте данные в виде JSON, как полагают palacsint, потребитель должен знать формат, так что он может разобрать его

0
ответ дан 24 ноября 2011 в 06:11 Источник Поделиться