我有负责的移动版本,其中有按钮"转到桌面版本":
<div class="desktop_version">
<a href="#" onclick="submitinfo();"><em class="fa fa-desktop"></em> Desktop version</a>
</div>
提交后,我需要将值发送到mobile.php(ajax)并设置$_SESSION['mobile_style']。jQuery代码:
function submitinfo() {
$.ajax({
type: "POST",
url: "/mobile.php",
data: {values:"mobile"}
});
window.location.href = "http://dekstopversionexample.lt";
}
和mobile.php:
session_start();
$_SESSION['mobile_style'] = $_POST['values'];
看起来一切都很好,在responsinator.com和Chrome中一切都很不错,但在Fiefox中我收到了错误POSThttp://myaddress.lt/mobile.php.有些移动设备点击按钮后也会出现同样的问题。没有任何更改,我无法实现桌面版本,并且会话未保存。
感谢您的帮助
您需要在成功回调中更改window.location,因为它可能在异步POST请求完成之前发生。
$.ajax({
type: "POST",
url: "/mobile.php",
data: {values:"mobile"}
success: function(){
window.location = "http://dekstopversionexample.lt";
}
});