Как мне передать значение переменной сеанса в $.ajax()?

#jquery #asp.net #.net-4.0

#jquery #asp.net #.net-4.0

Вопрос:

У меня есть переменная сеанса, содержащая некоторые строковые данные. Как мне получить доступ к переменной сеанса из разметки (не из исходного кода) и передать ее значение в следующий код? Мне нужно заменить ????? с фактическим значением переменной сеанса. Спасибо!

 function btnAddTask_onclick() {
            var inputData = { task: $(".taskInput").val(), sessionVar: ????? };

            $.ajax({
                "url": "AddTask.aspx",
                "type": "get",
                "data": inputData, 
                "success": function (response) {
                    alert(response);
                    $("body").append(response);

                },
                "error": function (response) {
                    alert("Error: "   response);
                }
            })
        }
  

Ответ №1:

 var inputData = { task: $(".taskInput").val(), sessionVar: '<%= Session["session_var"] %>' }
  

Ответ №2:

Ответ @Carlos M хорош, предполагая, что данные, которые вам нужны из сеанса, актуальны на момент нажатия кнопки. Но поскольку вы используете Ajax, я собираюсь предположить, что это не обязательно верно, например, какое-либо другое предыдущее действие с поддержкой ajax на клиенте могло вызвать Session изменение.

Однако я не могу не задаться вопросом, какой цели служит передача данных сеанса непосредственно в ajax-запрос? Почему бы вам просто не получить доступ Session непосредственно из вашего кода в AddTask.aspx , вместо этого сервер отрисовывает что-то на клиенте, только чтобы передать это обратно на сервер? Не похоже, что есть какая-либо цель в доступе Session к клиенту, поскольку все, что вы делаете, это снова передаете его на сервер. На самом деле оно не используется на клиенте.

Комментарии:

1. Хороший момент. Я довольно новичок в веб-разработке и ценю информацию.