2013-07-30 2 views
0

Я ищу какой-то тип «лучшей практики» или «наиболее приемлемый» тип решения для динамического обновления поля в таблице.Предпочтительный способ динамического обновления поля таблицы с помощью jQuery?

Например, пользователь получает поле для «Количество Open» со значением 4. Они выполняют некоторые операции AJAX, который изменяет значение «Количество Open» в базе данных до 3.

делает один, как правило, создать некоторую серверную функцию для вытягивания обновленной информации?

Вы возвращаете новое значение как часть возврата AJAX и в метод $ .ajax(). Done() jQuery и создаете помощник для обновления поля, которое было изменено?

Я чувствую, что последнее - лучший вариант, но определенно понравится какая-то обратная связь.

+2

Если новое значение приходит в результате какой-либо операции на стороне сервера, а затем вернуть это значение и установите его в '.success' AJAX метод. – tymeJV

+2

Почему это такой «бесполезный вопрос», что он получил 2 голоса? – cars10m

+0

Я тоже хотел бы знать ... Возможно, потому, что я не включил jsfiddle. : P –

ответ

1

Я бы не сказал, что в этом случае есть «лучшая практика», а скорее то, что вам лучше подходит в ситуации. Если вы знаете, что можете полагаться на своих пользователей с включенным JavaScript, я бы рекомендовал использовать jQuery's ajax function.

$.ajax({ 
    url: 'example.php', 
    type: 'POST', 
    data: data, 
    success: function (data) { 
     // Reflect the changes here 
     // e.g. update the Quantity Open field 
    } 
}) 

Или

$.ajax({ 
    url: 'example.php', 
    type: 'POST', 
    data: data 
}).done(function() { 
    // Reflect the changes here 
    // e.g. update the Quantity Open field 
}); 

Какой бы вы предпочитаете.

+0

Я думал, что они осуждают метод успеха в пользу использования сделанного метода? Это то, что я считаю лучшим решением, возвращает измененную переменную в ответе AJAX, а затем обновляет поля возвращаемыми данными. –

+0

@KyleJohnson. Вы на половине справа: функции _callback-manipulation_ (например. '.error',' .success' и т. Д.) Действительно устарели в пользу более универсального [отложенного] (http: // api .jquery.com/category/deferred-object /), но параметр 'success' для метода [ajax] (http://api.jquery.com/jQuery.ajax/) является _not_ устаревшим. Вы можете использовать параметр 'success' или метод [.done] (http://api.jquery.com/deferred.done/), поскольку они оба допустимы. (Я предпочитаю форму параметра успеха). – federicot

+0

Gotcha! Я видел параметр 'success' в своей документации, но похоже, что он ведет себя одинаково с отложенным методом' .done'. Есть ли разница между параметром и отложенным методом? –

0

Также вы можете использовать

$.post(test.php,{data:test},function(data) 
{ 
}); 
Смежные вопросы