В моем веб-приложении у меня есть функция:
def POST (self):
signal = web.input()['signal']
if signal == 'next':
errMessage = self.cinstall.testConnection()
print signal
print errMessage
return errMessage
В соответствии с консолью Python он работает правильно; он получает и возвращает строки, как я ожидаю.
В шаблоне у меня есть такой скрипт:
<script src="/static/jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$$(function() {
var value = $$('#continue').attr('value');
$$("#continue").click(function(){
jQuery.ajax({
type: "POST",
data: {signal : value},
success: function(html) {
jQuery('#errmessage').html(html).hide().fadeIn(1500);
},
});
});
});
</script>
Я знаю, что запрос выполнен успешно, потому что если я добавлю alert
в обработчик success
, он будет работать хорошо, но функция jQuery('#errmessage').html(html).hide().fadeIn(1500);
не будет выполнена. У меня есть <p>
тег с id=errmessage
в моем шаблоне.
Итак, у меня есть несколько вопросов:
- Почему это не работает?
- Могу ли я изолировать данные, полученные из POST в JS для дальнейших итераций и
if
операторов?
- Могу ли я поместить
if
операторы в функцию успеха jQuery.ajax?
К сожалению, API jQuery предоставляет ограниченную информацию о success()
.