#javascript #jquery #ajax
#javascript #jquery #ajax
Вопрос:
$(document).ready(function(){
$(".submit").click(function() {
var emailVal = $(".email").val()
$.ajax({ type: 'POST',
url: 'settings/update',
data: { email: emailVal },
beforeSend:function(){
//loading image
$('#ajax-panel').html('<div class="loading"><img src="/images/ajax-loader.gif" alt="Loading..." /></div>');
},
success:function(data){
// successful request; do something with the data
$('#ajax-panel').empty();
$('#ajax-panel').html(data);
},
error:function(){
// failed request; give feedback to user
$('#ajax-panel').html('<p class="error"><strong>Oops!</strong> Try that again in a few moments.</p>');
}
});
});
});
Переменная emailVal не отправляется как данные post. Что-то не так с моим синтаксисом?
Комментарии:
1. Вы получаете какие-либо ошибки JavaScript?
2. Ваш URL
url: 'settings/update',
ведет к реальному файлу?3. @Biotox … почему это должно идти в файл? что, если он использует шаблон MVC с URI.
4. Да, это так, я использую firebug для отладки… он продолжает сообщать об успехе, но сохраняет его как строку emailVal (независимо от того, что находится в текстовом поле)… но когда я меняю параметр на emailVal2, он указывает неопределенную переменную
5. Можем ли мы увидеть HTML для вашего текстового поля? Также почему вы ссылаетесь на него по классу, а не по идентификатору?
Ответ №1:
В конце этой строки отсутствует точка с запятой.
var emailVal = $(".email").val()