通过 Jquery/Javascript 插入会话值
Inserting session values through Jquery/Javascript
可以通过JavaScript或Jquery在会话变量中插入会话值吗?
我确实喜欢session["variable_name"] = "some value";
它不起作用
即使我尝试过<%session["variable_name"] %> = "some value"
这也不起作用。
但是可以从会话中读取。
它说..在Javascript中没有名为"Session"的关键字。
任何解决方法...
现在我已经通过 Cookie 完成了它,但我需要通过会话来做到这一点。
有人在这里经历过吗?
PHP 会话值是在服务器上设置的,这意味着 javascript 可以操作它们的唯一方法是,如果您向另一个使用 ajax 的页面发出请求以设置值,例如:.JS:
$('.updateSession').on('click', function(){
$.post('updatesession.php', 'name=john', function(){
alert('Session Updated!');
})
});
.PHP:
<?php
session_start();
if($_SERVER['REQUEST_METHOD'] === 'POST'){
$_SESSION['name'] = $_POST['name'];
}
?>
如果你想在
页面上"实时"更改会话变量,你可以使用 $.ajax 运行一个小脚本,在 PHP 脚本中设置会话变量,例如:
var data = 'sessioninfoiwanttostore='+myJavascriptVar ;
$.ajax({
url: 'set-session-script.php',
type: 'POST',
data: data
})
然后在您的 PHP 脚本中:
<?PHP
session_start() ;
$_SESSION['whatever'] = $_POST['sessioninfoiwanttostore'] ;
?>
但请注意,这不会更改已根据您的会话变量加载的页面上的任何数据。
通常会话存储在服务器上,因此在浏览器中运行的javascript和jquery无法访问会话。从会话读取意味着服务器将值呈现到 js 可以访问它的 html 中。
由于 cookie 也存在于浏览器中,js 可以直接访问它们。
作为一种解决方法,您可以编写某种 ajax 调用来发布要插入到会话中的键/值,并在服务器端编写一个小助手,该助手获取此值并将其放入会话中。
在
C# 中创建一个 Web 方法,用于更新将由
[webmethod]
public static void sesstion_update(session_value)
{
httpcontext.current.session["name"] = session_value;
}
用 Jquery $.ajax
方法调用此Web方法,并通过数据传递要存储在会话中的值
相关文章:
- 将样式表插入iframe
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- 如何动态插入jquery代码
- 动态插入的表:JQuery未检测到最后一行
- 使用JavaScript动态插入DIV的成本有多高
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- Flash Uploadify在调用我的MVC控制器时没有保留会话/授权
- 将对象动态插入到现有对象中
- 将数组中的值插入到表中
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 使用PHP插入HTML在JavaScript上不起作用
- javascript:将数据库中的数据插入到html5文本字段中
- 从数据库中获取数据并插入JavaScript变量
- 如何使用innerHtml正确插入html
- 验证会话中是否存在对象's数组
- AngularJS指令,在元素后插入HTML
- 当用户按下回车键时,自动在text区域/text中插入消息
- 通过 Jquery/Javascript 插入会话值
- 是否在会话超时后插入用户注销信息