在PHP中使用ajax重定向用户显示Div

时间:2018-02-13 11:40:12

标签: javascript php jquery ajax

以下是我将用户重定向到另一个页面的代码

$.ajax({
    type: "POST",
    url: "ajax/ajax-send-otp.php",
    data: {
        mynumber: mynumber,
        userCountry: userCountry
    },
    success: function(data) {
        if (data == 2) {
            $("#otpVerifyDiv").slideDown(500);
            window.location = 'free-listing-new.php';
        } else {
            alert(data);
        }
    }
});

现在在另一个页面上有一个隐藏#otpVerifyDiv的Div-Id。所以我想展示div。 因此可以在窗口位置后显示div。 ?

由于某些原因,我不需要使用url发送任何参数。也不需要像jquery-cookies.js这样的其他js 我试过了

success: function(data) {
    if (data == 2) {
        //SHOW DIV 
        $("#otpVerifyDiv").slideDown(500);
        //THAN REDIRECT
        window.location = 'free-listing-new.php';
    } else {
        alert(data);
    }
}

我的HTML

<div class="form-group" id="otpVerifyDiv" align="center" style="display: none;">
 //Some Contetnt Here
</div>

有可能吗?

我的计划

是jquery提供任何临时存储,否则我存储数据并将数据从一个页面发送到另一个页面,如cookie会话。

5 个答案:

答案 0 :(得分:1)

第一种方法:

成功时设置localstorage变量:

if (data == 2) {
    localStorage.setItem("otp_verified", 1);
    window.location = 'free-listing-new.php';
}

然后在free-listing-new.php检查:

if ( localStorage.getItem("otp_verified") == 1 ) {
    $("#otpVerifyDiv").slideDown(500);
    localStorage.removeItem("otp_verified");
}

第二种方法:

成功时,通过使用JS:

创建隐藏表单,将变量发布到free-listing-new.php
if (data == 2) {
    $('body').append($('<form/>', {
        id: 'hiddenForm',
        method: 'POST',
        action: 'free-listing-new.php',
        style: "display:none;"
    }));

    $('#hiddenForm').append($('<input/>', {
        type: 'hidden',
        name: 'otp_verified',
        value: 1
    }));        

    $('#hiddenForm').submit();                
}

然后在free-listing-new.php上检查发布的变量与PHP的超级全球$_POST['otp_verified']

答案 1 :(得分:0)

由于您使用的是php,因此您可以在页面标题上使用条件来阻止人们访问该页面,除非他们从特定页面重定向。 在他们重定向到的页面上,然后你必须使用Abhijit所述的代码

答案 2 :(得分:0)

您可以通过$_SERVER['HTTP_REFERER']检查该用户来自哪个网址来执行此操作。如果您在free-listing-new.php中获得了HTTP_REFERER,则可以显示您想要的div。

答案 3 :(得分:0)

如果重定向页面位于同一个域中,我认为您可以在成功时设置本地/会话存储。在进入重定向页面时,检查存储数据并显示div。

答案 4 :(得分:0)

在成功响应中,您应该使用localStorage.setItem("key", "value");而不是cookie / session。此功能会将值临时存储在浏览器存储中。

用法:在成功方面存储otp_verified的值并重定向到free-listing-new.php页面并使用localStorage.getItem("key");检查值,然后使用localStorage.removeItem("key");从本地存储中删除该项。

在本地存储空间中设置项目。

localStorage.setItem("key", "value");

从本地存储中获取项目

localStorage.getItem("key");

从本地存储中删除项目

localStorage.removeItem("key");