2012-03-30 3 views
1

Я пытаюсь связаться с службой RIA из extjs, используя POST для получения ответа со следующим кодом.Передача параметров службе RIA из extjs с конечной точкой json

var store = Ext.create('Ext.data.Store', { 
         model: 'RootResults', 
         proxy: { 
          type: 'ajax', 
          actionMethods: 'POST', 
          url: 'MyService.svc/JSON/GetRes', 
          headers: { 
           'Content-type': 'application/json' 
          }, 
          reader: { 
           type: 'json', 
           root: 'GetResResult.RootResults', 
           totalProperty: 'GetResResult.TotalCount' 
          } 
          , pageParam: undefined, 
          startParam: undefined, 
          limitParam: undefined 

          , success: function (response) { 
           alert(response); 

          } 

         } 
        }); 

    var operation = new Ext.data.Operation({ 
      FId: 1, 
      SId: 0 
     }); 

store.load({ params: Ext.encode(operation) }); 

Я могу получить к нему доступ с получением. , когда я пытаюсь с POST, он возвращает ошибку - «405 метод не разрешен». Что делать, чтобы включить POST?

ответ

1

Когда я задал этот вопрос, я немного запутался с коммуникацией между POST ExtJS и RIA услугами.

Я решил эту проблему с помощью следующей статье http://www.joseph-connolly.com/blog/post/WCF-RIA-Services-jQuery-and-JSON-endpoint-Part-2.aspx

Для доступа к WCF RIA Services с JQuery или ExtJS, на самом деле нам нужно создать набор изменений для КЕД (Create-Update-Delete) операций и всех операций используйте JSON/SubmitChanges.

0

Я считаю, что на стороне сервера вам необходимо добавить к вашим HasSideEffects объявления методы():

[Invoke(HasSideEffects = true)] 
public GetPages(...) 
{ 

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