Я довольно новичок в Нэнси, надеюсь, я просто делаю что-то глупое здесь. У меня есть служба Nancy, который я отправляю данные нравится так:Nancyfx Request.Session не имеет значений на посту AJAX
$.ajax({
type: 'POST',
url: url,
data: JSON.stringify({
searchTerm: productSearchTerm,
pageSize: pageView.PageSize(),
selectedBrands: pageView.checkedBrands(),
pageNumber: pageView.CurrentPage(),
selectedCategories: pageView.checkedCategories(),
selectedGender: pageView.checkedGender(),
SelectedColours: pageView.checkedColour(),
saleItemsOnly: pageView.saleItemsOnly(),
selectedMinimumPrice: pageView.minPrice(),
selectedMaximumPrice: pageView.maxPrice()
}),
contentType: "application/json; charset=utf-8",
dataType: 'json'
})
.done(function (data) {
bindSearchResult(data);
})
.fail(function (a) {
console.log(a);
});
Тогда в службе мне нужно держать на кучу строковых значений для будущих запросов от пользователя, который я делать так:
private void AddListOfStringToIsSessionNull(string name, IEnumerable<string> data)
{
if (Session[name] == null)
{
Session[name] = data.ToList();
}
}
это, кажется, установить переменные сессии и «_nc» печенье присутствует, когда я проверить страницу после того, как она возвращается.
Однако, если я тогда F5 на странице, элементы сеанса снова нульны на сервере.
Я исключаю, что это перекрестная публикация, поскольку все это в одном домене.
Это может быть вещь AJAX? Кажется маловероятным, поскольку это кажется довольно стандартным. Или вы не можете установить его на POST? Если это так?
Если кто-то может помочь мне бы бесконечно благодарен, как в противном случае я буду вынужден вернуться обратно к написанию этого в WCF, которая заставит меня бросить себя из окна :)
Спасибо большое.
Редактировать
- Открыть новое окно инкогнито в темэ я попал домой страницу, не гомосексуалист печенья присутствует (что правильно)
- Введите слово для поиска, который вызывает снова и AJAX пост и захватывает JSON, также выводит список строк в Nancy Session
Check печенье, Nancy один появился как так и значение сессии правильно на пост обратно:
npTBnqPp99nLd5fU0%2btJbq%2fY%2bdf2UFWTaq5D28Az7Jw%3dzF8cIHNxTWX399sbmowjheho2S29ocpKs1TXD51BrbyPPNCeLfAcYqWhkRHqWdwKJNED5kuspllIjhI5rf2W6NKtf8xo68BlF5eLLgJxMtAxw2yD2ednEzUazq1XBt2Id77t5LE5tZVwkpRGDT5b9J0nQnr9zfzCOALXb2hQQGBPkMVyNNTO24pW1UC6Uda3B86LLYA02Jgy4G9DiT6KsutR3pSXO8AZFOlcmAEHbSSX9A8FAHaL ... etc.
- Я тогда искать другой термин поиска, который вызывает этот бит кода: --Session.DeleteAll();
- Ненси сессия вновь заполняется новыми данными и возвращает обратно в браузер
Однако в данный момент куки не был обновлен с новым значением оно еще ниже:
npTBnqPp99nLd5fU0%2btJbq%2fY%2bdf2UFWTaq5D28Az7Jw%3dzF8cIHNxTWX399sbmowjheho2S29ocpKs1TXD51BrbyPPNCeLfAcYqWhkRHqWdwKJNED5kuspllIjhI5rf2W6NKtf8xo68BlF5eLLgJxMtAxw2yD2ednEzUazq1XBt2Id77t5LE5tZVwkpRGDT5b9J0nQnr9zfzCOALXb2hQQGBPkMVyNNTO24pW1UC6Uda3B86LLYA02Jgy4G9DiT6KsutR3pSXO8AZFOlcmAEHbSSX9A8FAHaL.... etc.
Есть ли что-нибудь еще, чтобы решить эту проблему?
Я знаю, что вы говорите, что вы исключили CORS, но вы, возможно, захотите посмотреть на это другое сообщение и посмотреть, не искроет ли оно какое-либо понимание - http://stackoverflow.com/questions/2870371/why-is-jquerys -ajax-method-not-send-my-session-cookie –
Иначе присоединяйтесь к нам в комнате NancyFX JabbR и поговорите с разработчиками и другими пользователями https://jabbr.net/#/rooms/nancyfx –