Я использую удаленный метод управления проверкой jquery, чтобы проверить, существует ли адрес электронной почты в базе данных.Все работает отлично с первого раза запуска проверки.Однако при последующей проверке данные, передаваемые веб-службе, являются старыми данными, а не новыми данными, введенными в текстовое поле.
* Например, адрес электронной почты вводится в текстовое поле электронной почты, запускается проверка, результаткак и ожидалось.Адрес электронной почты изменяется, проверка запускается снова, но при проверке FireBug ajax-данные - это старые данные, а не новые.
Таким образом, следующие данные всегда передаются независимо от того, что находится в текстовом поле.{'email': 'test@test.com'casts
например. Это настройки правила.
rules: {
<%=txtGuestEmail.UniqueID%>: {
email: true,
remote: {
type: 'POST',
contentType: 'application/json; charset=utf-8',
cache: false,
async: false,
url: 'ajaxCheckout1.asmx/IsEmailAvailable',
// Use data filter to strip .d explained here http://encosia.com/2009/06/29/never-worry-about-asp-net-ajaxs-d-again/
dataFilter: function(data) {
var msg = eval('(' + data + ')');
// If the response has a ".d" top-level property, return what's below that instead.
if (msg.hasOwnProperty('d'))
return msg.d;
else
return msg;
},
dataType: 'json',
data: "{'email':'" + $('#ctl00_PageContent_txtGuestEmail').val() + "'}"
}
},