2014-12-19 4 views
4

Мой фоновым проверки принимает только 1 параметр: адрес электроннойJQuery удаленная проверка прохождения дополнительного параметра?

Когда я смотрю на Firebug, я могу видеть, что URL запроса отправляет 2 параметра:

https://example.com/rest/checkDupEmail?newEmail=myEmail%40myEmail.com&email= 

Вот код проверки .. .

HTML:

<input type="textbox" name="newEmail" id="newEmail"/> 

J S:

validator = $('#emailForm').validate({ 
    rules: { 
     newEmail: { 
      required: true, 
      remote: { 
       url: '/rest/checkDupEmail', 
       data: { email: $('#newEmail').val()}, 
       dataFilter: function(data) { 
        var json = JSON.parse(data); 
        console.log($('#newEmail').val()); 
        console.log(data); 
       } 
      } 
     } 
    } 
}); 

Это как его принимая поле HTML я указать (NEWEMAIL) и отправить его в качестве параметра?

ответ

2

Цитата OP:

"Это как его принимая поле HTML я указать (NEWEMAIL) и отправить его в качестве параметра?"

Да, конечно. Это поведение по умолчанию метода remote ... оно отправляет данные из оцениваемого поля.


Он отправляет два параметра данных, потому что именно так вы его настроили.

  1. Это уже посылает ценность newEmail поля в, потому что это поле вы выбрали для remote проверки. Это поведение по умолчанию при использовании метода remote.

  2. Он также отправляет то же значение, что и email, потому что именно так вы определили его с помощью опции data.

    data: { email: $('#newEmail').val() }, 
    

Как правило, опция data только используется, когда вы хотите отправить дополнительные данные вместе с данных по умолчанию. В этом случае значение оцениваемого поля, newEmail, является данными по умолчанию.

Вы должны полностью удалить data и принять только newEmail на заднем конце. Даже без JavaScript или плагина jQuery Validate, newEmail будет именно тем, как эти данные естественно попадают на сервер после отправки.

Удалить опцию data полностью, то либо переименовать разметку email или исправить код на стороне сервера, чтобы принять newEmail ... сделать не отправить те же данные дважды.

Документация: http://jqueryvalidation.org/remote-method/

Смежные вопросы