Контекст Upshot, не поддерживающий леса, не вызывает webapi?

Я следую очень простому руководству Стива Сандерсона, и кажется, что скрипт scaffolded не вызывает мой webapi:

cshtml код:

@(Html.UpshotContext().DataSource<Yoga.Controllers.YogaController>(x => x.GetAllBugs()))

Сгенерированный скрипт:

upshot.dataSources = upshot.dataSources || {};
upshot.metadata({...});

upshot.dataSources.AllBugs = upshot.RemoteDataSource({ 
    providerParameters: { url: "/api/Yoga/", operationName: "GetAllBugs" },
    entityType: "BugView:#Yoga.Models",
    bufferChanges: false,
    dataContext: undefined,
    mapping: {}
});

и он был вызван после загрузки страницы:

        $(function() {
        var dataSource = upshot.dataSources.AllBugs;
        dataSource.refresh(function(results)){
        //error here, `result` is an null object
            alert(results);
        });
    });

Я установил точку останова на своем члене GetAllBugs() в контроллере, и он никогда не был достигнут.

Тем не менее, когда я посещаю Ури напрямую, http://localhost/api/yoga/getallbugs я получаю ожидаемый результат. (и точка останова была достигнута)

Кажется, я не могу понять, что происходит со сценарием scaffolded upshot.

Спасибо

1 ответ

Попробуйте следующий код:

dataSource.refresh(function (entities, total){
   alert(entities);
});

Кроме того, перейдите на вкладку "Сеть" консоли Firebug / Developer или запустите Fiddler и проверьте, действительно ли отправлен запрос контроллеру или нет. Если оно отправлено, значит, ваша проблема связана с контроллером, возможно, неправильно отображает действие.

Другие вопросы по тегам