所以我遇到这个问题,我在第一个window.location.replace尝试丢失了所有数据(第二次重新加载同一页面,一切似乎工作正常) 我已经四处寻找,但没有找到这样的东西
这是代码,所以我可以更加彻底地解释我的问题:
$(document).ready(function() {
$('#login_form').on('submit', function(event){
event.preventDefault();
// Retrieve form data
var formData = {
'index' : $('input[name=user]').val(),
'password' : $('input[name=pass]').val()
};
//convert formData from JS object to PHP understandable
var formData1=jsObj2phpObj(formData);
var url= 'login.php';
//sending with post in ajax to register.php
$.post(url,{formData1:formData1})
.done(function(data){
if(!(data["Log_success"])){
alert("Log failed")
}
else
{
window.location.replace('http://localhost/CPPv2/admin_commented/index.html#home');
var draw_stringholder="";
draw_stringholder+=data["user_index"]+data["user_email"];
document.getElementById("myPanel").innerHTML=draw_stringholder;
}
}
所以我的函数所做的是它将数据发送到PHP页面并重新接收JSON编码数据。我第一次提交表单时似乎没有收到任何网络数据(我认为这是因为window.location.replace删除它)但刷新页面并再次提交表单后一切正常(索引和电子邮件都写完了)在myPanel元素内)。
我已经尝试过使用window.location / window.location.href ...(我想我尝试了其他所有功能)并且他们只是不发送我,就像他们根本不工作一样。 if(!(data [“Log_sccuess”]))部分始终有效(因此客户端 - 服务器通信工作正常)。
说使用JqueryMobile-1.4.4(也试过他们的重定向方法不起作用)也很重要
总结一下,我想将当前页面链接更改为另一个,而不会丢失服务器生成的数据。 (因为我低音保持在同一页只是改变它的Id部分)。我可以通过在登录后刷新页面来解决我的问题(在登录后发送服务器请求),但这似乎不是正确的方法。
答案 0 :(得分:0)
我使用$ .mobile.changePage(“#ulr”,{transition:“slideup”})而不是window.location.replace;