javascript - window.location.replace 奇怪的行为

标签 javascript jquery jquery-mobile

所以我遇到了这个问题,第一次 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 部分)。我可以通过登录后刷新页面(登录后发送服务器请求)来解决我的问题,但这似乎不是正确的方法。

最佳答案

我使用 $.mobile.changePage( "#ulr", { transition: "slideup"} ); 而不是 window.location.replace

关于javascript - window.location.replace 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27441962/

相关文章:

javascript - 如何根据当前屏幕分辨率调整图像大小?

javascript - Cordova js 仅在特定设备上的 Android 上返回错误的日期时间和 utc

javascript - jQuery:如何获取表行中所选选项的值

codeigniter - 如何将 Codeigniter 中的 CSRF 包含到 ajax 数据中

jquery-mobile - Jquery Mobile 页脚 NavBar 水平滚动

javascript - 在 jQuery Mobile 中处理历史记录

javascript - JQuery 移动版 : how to validate the form and show error message on page

javascript - 在 Javascript 中移动对象

javascript(苹果脚本): find text and highlight

javascript - JQM 1.4.2 从ajax添加模板到弹出窗口不渲染