Я пытаюсь сохранить как можно больше ОО, но ASP.NET AJAX, кажется, делает что-то странное после возвращения с сервера ...
function Person( personId ) {
var id = personId;
var firstName;
var lastName;
this.initializeStep1 = function() {
PeopleServices.getFirstName(id, this.initializeStep2);
}
this.initializeStep2 = function(foundFirstName) {
alert(foundFirstName);
firstName = foundFirstName;
PeopleServices.getLastName(id, this.initializeStep3);
}
this.initializeStep3 = function(foundLastName) {
alert(foundLastName);
alert(firstName);
lastName= foundLastName;
}
this.initializeStep1();
}
Это основа этого. Так что в основном это создание человека и получение его имени и фамилии с сервера для инициализации человека.
Когда я создаю нового человека, он проходит initializeStep1, вызывает веб-метод getFirstName и в конце концов достигает initializeStep2. предупреждение (foundFirstName); работает, он предупреждает об имени, которое было найдено, и это правильно ... теперь после установки частной переменной firstName на то, что было найдено, я делаю второй вызов на сервер ...
На этот раз он не достигает initializeStep3, и я знаю, что он не должен был произойти сбой на стороне сервера, потому что даже если я заменю строку
PeopleServices.getLastName(id, this.initializeStep3);
с
PeopleServices.getFirstName(id, this.initializeStep3);
все равно не работает.
Мне было интересно, потерял ли он ссылку на «this» после первого обращения к серверу или что-то похожее на то, где я не могу вызвать initializeStep3, как я. У кого-нибудь есть идеи?
некоторые заметки:
- Я знаю, что все веб-методы сервера работают, я тестировал их индивидуально.
- Я не уверен, что мой ОО здесь.
- Я не уверен, что я тоже подхожу к AJAX.
Спасибо за вашу помощь!