передача параметров в службу RIA из extjs с конечной точкой json - PullRequest
1 голос
/ 30 марта 2012

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

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) });

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

Ответы [ 2 ]

1 голос
/ 30 апреля 2012

Когда я задал этот вопрос, я немного запутался с POST-связью между extjs и RIA-сервисами.

Я решил это с помощью следующей статьи http://www.joseph -connolly.com / блог / запись / WCF-RIA-Services-JQuery-и-JSON-конечная точка-Part-2.aspx

Для доступа к Службам WCF RIA из jquery или extjs нам действительно нужно создать набор изменений для операций CUD (Create-Update-Delete), и все операции используют JSON / SubmitChanges.

0 голосов
/ 30 марта 2012

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

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

}
...