Я пытаюсь сохранить querystring как cookie здесь. Я использую querystring для входа и мне нужно сохранить запрос, чтобы использовать его на другой странице. По какой-то причине код работает некорректно. Без файлов cookie он будет делать то, что я хочу. Но когда я пытаюсь добавить этот код, он больше не будет работать.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript">
var QueryString = function() {
// This function is anonymous, is executed immediately and
// the return value is assigned to QueryString!
var query_string = {};
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
// If first entry with this name
if (typeof query_string[pair[0]] === "undefined") {
query_string[pair[0]] = pair[1];
// If second entry with this name
} else if (typeof query_string[pair[0]] === "string") {
var arr = [query_string[pair[0]], pair[1]];
query_string[pair[0]] = arr;
// If third or later entry with this name
} else {
query_string[pair[0]].push(pair[1]);
}
}
return query_string;
}();
setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
setCookie("email", QueryString.u, 1);
setCookie("password", QueryString.p, 1);
jQuery(function() {
jQuery('#email').val(QueryString.u);
jQuery('#password').val(QueryString.p);
jQuery('#submit').click();
});
</script>
Я считаю, что это из-за того, что его код ошибочен, этого не должно быть?
var query_string = {};
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
// If first entry with this name
if (typeof query_string[pair[0]] === "undefined") {
query_string[pair[0]] = pair[1];
// If second entry with this name
} else if (typeof query_string[pair[0]] === "string") {
var arr = [query_string[pair[0]], pair[1]];
query_string[pair[0]] = arr;
// If third or later entry with this name
} else {
query_string[pair[0]].push(pair[1]);
}
}
function setCookie(cname, cvalue, exdays)
{
var d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
и что такое "QueryString"?
Попробуйте изменить
setCookie(cname,cvalue,exdays)
в
function setCookie(cname,cvalue,exdays)
src
для<script>
, любой контент в этом элементе script будет игнорироваться.