【问题标题】:Jquery redirect doesn't work on live server after submitting form提交表单后,Jquery 重定向在实时服务器上不起作用
【发布时间】:2015-09-29 05:38:55
【问题描述】:

我正在重定向到基于在登录表单提交之前单击的链接的页面。通过 ajax 提交的表单,我注意到只有在实时服务器中,没有收到通过 ajax 从 php 脚本传递的响应。 success: function(data) {//nothing works here}.因此页面没有被重定向。在php页面中,有脚本来登录用户。令人惊讶的是,刷新页面后,用户已登录。用户登录后,重定向工作完美。

我想知道为什么没有通过 ajax 从 php 传递数据以及为什么重定向不起作用?

我的 ajax..

$("#login").on("click",function()
          {
             // alert(this_link);
              $("#login_form").submit(function(){             
            var data = {
              "action": "test"
            };
            data = $(this).serialize() + "&" + $.param(data);
            $.ajax({
              type: "POST",
              dataType: "json",
              url: "login2.php?id='"+this_link+"'", //Relative or absolute path to response.php file
              data: data,
              success: function(data) {
                $(".the-return").html("<br />JSON: " + data );
               // alert("Form submitted successfully.\nReturned json: " + data["json"]);
              //alert(data);
              //alert(data["json"]);
              //console.log(data);

               if(data=="'del_create'-1")
                {
                     //window.location='create_post.php';
                     $(location).attr('href', 'https://sample.com/create_post.php');
                }
                else if(data=="'del_avail'-1")
                {                
                    //window.location='update_post.php';
                     $(location).attr('href', 'https://sample.com/update_post.php');
                }
                else
                {
                    window.location='<?php echo $root;?>login/login.php';
                }

              }
            });

php 脚本返回的数据

$id3=$id."-".$id2;
echo json_encode($id3);//returns 'del_avail'-1 or 'del_create'-1 if logged in and -0 if not logged in

【问题讨论】:

  • 在成功线后写入console.log(data)并检查数据是否到来
  • window.location 应该是window.location.href
  • @Tushar 你明白了 r8
  • @AbhishekPachal,我做到了,它没有出现在实时服务器上
  • @Tushar,我试过了,window.location.replace 也无济于事..我认为现在的主要问题是 ajax 函数在成功时没有显示数据..这意味着它不成功。因为对于其他页面,我使用了重定向并且它有效

标签: php jquery ajax


【解决方案1】:

单引号内echo 不起作用。也许以下方法会起作用。

window.location="<?php echo $root;?>login/login.php";

window.location.href="<?php echo $root;?>login/login.php";

【讨论】:

    猜你喜欢
    • 2015-09-15
    • 2018-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多