У меня есть несколько решений (скорее назовем их хаками) для этого, но я ищу элегантные решения проблемы. Вот проблема, пожалуйста, решайте ее медленно
Я получил WebMethods
на странице index.aspx
, на которую отправляются запросы ajax (create
,update
,delete
). Один веб-метод не может обрабатывать все эти виды операций, поэтому для модели Person
существует 3 метода, а именно:
CreatePerson (attributes)
UpdatePerson (attributes)
DeletePerson(personId)
поэтому я использую хакерский процесс, как показано ниже, имена функций javascript соответствуют соответствующим методам на сервере.
CreatePerson:function(){
model.url = "/CreatePerson";
},
UpdatePerson:function(){
model.url = "/UpdatePerson";
},
DeletePerson:function(){
model.url = "/DeletePerson";
}
вышеуказанные методы объявлены в представлениях, отображающих модель Person. urlRoot для модели равен index.aspx
, поэтому вызовы ajax будут направляться в метод CreatePerson внутри index.aspx при создании операции, то есть index.aspx/CreatePerson
Если я делегирую функцию синхронизации, она переопределит все модели в приложении js, чего я не хочу.
Вопрос
Могу ли я каким-то образом подготовить URL-адрес в соответствии с конечной точкой модели до того, как будет сделан запрос ajax при использовании Backbone.js со страницами asp.net?