Я вырываю свои волосы из-за этой ошибки, хотя я уверен, что это что-то очевидное.Извиняюсь, если это так.
Следующий javascript успешно устанавливает мой cookie:
<script type="text/javascript">
$(document).ready(function(){
$.post('../setCookie.php',{'region':'test'});
});
</script>
Но как только я привяжу тот же код к событию onclick
, вот так ...
<script type="text/javascript">
$(document).ready(function(){
$("#us a").click(function(){
$.post('../setCookie.php',{'region':'en-us'});
});
$("#uk a").click(function(){
$.post('../setCookie.php',{'region':'en-gb'});
});
});
</script>
<ul>
<li id="uk"><a href="http://www.example.com/uk">
<span>Enter UK site</span></a></li>
<li id="us"><a href="http://www.example.com/us">
<span>Enter US site</span></a></li>
</ul>
.. он больше не устанавливает cookie!Даже если тот же самый код называется исполняемым в точно таким же образом (я прошагаю по нему нормально и вижу все так, как должно быть).
Повтор: JavaScript прекрасно запускается,Я перехожу через setCookie.php, и все то же самое ... кроме файла cookie в конце.
Что происходит?Я предполагаю, что это безопасность браузера или что-то в этом роде?
Для всех, кому интересно, вот как я решил это:
<script type="text/javascript">
$(document).ready(function(){
$("#us a").click(function(e){
e.preventDefault();
$.post('../setCookie.php',{'region':'en-us'},
function() {
window.location = "http://www.example.com/us";
}
);
});
$("#uk a").click(function(e){
e.preventDefault();
$.post('../setCookie.php',{'region':'en-gb'},
function() {
window.location = "http://www.example.com/uk";
}
);
});
});
</script>