Проблема, которую я вижу (могут быть и другие с бэкэндом), заключается в том, что ваш запрос AJAX, вероятно, не будет выполнен в других / более новых браузерах.Когда вы вызываете это:
window.location.href = '/News/Index';
... вы говорите браузеру отойти, это означает, что он мгновенно отправляется туда, независимо от того, был ли завершен предыдущий запрос AJAX (браузер скорее всего прекратит выполнение запроса и продолжит работу.)
Вместо этого вы должны перенаправить после , когда запрос завершится, и выполнить перенаправление в обработчике success
, например так:1011 *
$(function () {
$('#languagesDiv select').change(function () {
var myvalue = $(this).val();
$.ajax({
type: "POST",
dataType: "xml",
url: "/Language/SetLanguage",
data: { code: myvalue },
success: function (data) {
var myDate = new Date();
myDate.setDate(myDate.getDate() + 21);
$.cookie('MyData', $(this).val(), { path: '/', expires: myDate });
window.location.href = '/News/Index';
}
});
});
});
Таким образом, вы говорите пользователю менять страницы только после того, как вы успешно сделали запрос на изменение языка.