假设我设置了2个cookie值。我知道cookie对象的语法通常不是很简单,不能简单地设置成变量。所以我使用以下代码为2个cookie返回2个变量:
cookie_name = "username";
cookie_name2 = "password";
var YouWrote=getName();
var YouWrote2=getName2();
function getName() {
if(document.cookie)
{
index = document.cookie.indexOf(cookie_name);
if (index != -1)
{
namestart = (document.cookie.indexOf("=", index) + 1);
nameend = document.cookie.indexOf(";", index);
if (nameend == -1) {nameend = document.cookie.length;}
YouWrote = document.cookie.substring(namestart, nameend);
return YouWrote;
}}}
function getName2() {
if(document.cookie)
{
index = document.cookie.indexOf(cookie_name2);
if (index != -1)
{
namestart = (document.cookie.indexOf("=", index) + 1);
nameend = document.cookie.indexOf(";", index);
if (nameend == -1) {nameend = document.cookie.length;}
YouWrote2 = document.cookie.substring(namestart, nameend);
return YouWrote2;
}}}
现在YouWrote和YouWrote2包含cookie值(与浏览器中存储的值完全相同)。现在我想知道如何使用Javascript或Jquery将两个YouWrote变量存储到JSON对象中并通过Post方法发送它。
我正在考虑以下几点:
$(document).ready(function () {
$.ajax
({
type: "POST",
url: "Insert URL Here",
dataType: 'json',
async: false,
data: ??????????????????????????
});
坚持数据部分。不确定这是否是正确的做法。
答案 0 :(得分:0)
首先,我不认为在cookie中存储用户名和密码客户端是个好主意。相反,您可以使用存储在cookie中的会话令牌来验证用户是否已登录。其次,您可以使用一个函数根据其名称获取cookie的值。编写一个函数,即getCookieVal(nameParameter)可以返回正确的值 - 节省时间并且不容易出错。
但是,让我们谈谈这一点。您需要使用json表示法来传递js对象的数据,如下所示:
data : { you_wrote_1 : YouWrote , you_wrote_2: YouWrote2 }
就是这样。然后,您可以使用$ _POST表在服务器上获取这些变量 - 使用php。