Перенаправление со страницы PHP после поста jQuery $ .ajax - PullRequest
0 голосов
/ 20 марта 2019

Я использую $ .ajax для отправки своих данных на страницу PHP, и я знаю, что могу сделать перенаправление, когда будет получен ответ об успешном завершении. Тем не менее, есть ли способ выполнить перенаправление с моей страницы PHP, на которую я публикую сообщения?

Ответы [ 2 ]

2 голосов
/ 20 марта 2019

PHP

Если вы хотите использовать способ PHP, вы можете установить заголовок.

header('Location: www.example.com');

Предупреждение Вы можете использовать заголовок, только если вы не отправили никакой другой информации клиенту.

Помните, что header () должна быть вызвана перед тем, как отправляется либо обычными тегами HTML, пустыми строками в файле, либо из PHP. Это очень распространенная ошибка при чтении кода с помощью include или require, функции, или другая функция доступа к файлу, и имеют пробелы или пустые строки, которые выводятся до вызова header (). Та же проблема существует при использовании одного файла PHP / HTML.

Javascript

Вы можете перенаправить браузер, используя следующее:

window.location = "www.example.com";

Это можно сделать в любое время.

Источники: PHP-заголовок JS-Window-Location

1 голос
/ 20 марта 2019

Вот что вы хотите. Приведенный ниже код отправляет данные на сервер php backend через ajax и перенаправляет пользователей, если опубликованных данных нет пусто

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">

    $(document).ready(function(){


        $('#signin').click(function(){


    var username = $('#username').val();
    var password = $('#password').val();

            if(username==""){

                alert('please Enter username');


            }

     else if(password==""){

                alert('please Enter password');


            }

    else{

    $('#loader').fadeIn(400).html('<span>Please Wait, User is being logged</span>');

    var datasend = "username="+ username + "&password=" + password;

            $.ajax({

                type:'POST',
                url:'login.php',
                data:datasend,
                            crossDomain: true,
                cache:false,
                success:function(msg){

                    //empty username and password box after submission
                    $('#username').val('');
                    $('#password').val('');

                    $('#loader').hide();
                    $('#result').fadeIn('slow').prepend(msg);
                    $('#fadeoutResult').delay(5000).fadeOut('slow');

                }

            });

            }

        })

    });


    </script>





            <input
                name="username"
                type="text"
                class="form-control input-lg"
                id="username"
            />

            <input
                name="password"
                type="password"
                class="form-control input-lg"
                id="password"
            />


<div id="loader"></div>
<div id="result"></div>


            <button type="submit" id="signin">
                Submit
            </button>

test.php

<?php

// lets do redirect if username and password is not empty. you can apply the same principle is your submission is successful

$username = strip_tags($_POST['username']);
$password = strip_tags($_POST['password']);


if ($username != '' && $password !=''){
header('Location: success.php');
exit();
}


?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...