Как размещать переменные входных данных с помощью jquery

#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()