Всем привет, не пинаем - в жаба скрипте ну совсем не очень, второй день не могу доделать, нужна то одна строка. Гуглил читал, но нужно быстро а матчасть учить некогда. Короче кто поможет, тому спасибо, здоровья, счастья успехов в личной жизни))) Есть Ajax запрос: Код (Javascript): $(function() { (function worker() { $.ajax({ url: 'ajax.php', method: 'POST', data: {'test':'yes'}, success: function(data) { $('#formlineresult').html(data); }, complete: function() { setTimeout(worker, 1000); } }); })(); }); В файле ajax.php идет запрос к базе на предмет наличия подтверждений, Грубо говоря $confirms = 0; Мне нужно -> если $confirms >= 3, то ajax.php дает команду на редирект. Основной файл в скрипте указанном выше воспринимает эту команду и редиректит куда нужно. Грубо говоря меняя скрипт выше, нужно добавить что-то типа: Код (Javascript): if (data.redirect) { window.location.href = data.redirect; } else { $('#formlineresult').html(data); } Как это сделать правильно....
@Riddick777, непонятно что сервер отвечает это "звучит как и к умным и к красивым" грубо говоря ответ сервера должен быть либо PHP: $responce = ['STATUS'=>'html', 'CONTENT'=>'html code']; либо PHP: $responce = ['STATUS'=>'redirect', 'CONTENT'=>'url redirect']; естественно json
Я же говорю, я в жабаскрипте практически ноль, что нужно конкретно сделать? Попробовал вот так: Код (Javascript): $(function() { (function worker() { $.ajax({ url: 'ajax.php', method: 'POST', dataType: "json" data: {'test':'yes'}, success: function(data) { $('#formlineresult').html(data); }, complete: function() { setTimeout(worker, 1000); } }); })(); }); В ajax.php PHP: $responce = ['STATUS'=>'html', 'CONTENT'=>'html code']; echo $responce; Нифига результата)))) Я понимаю что туплю, но где не понимаю)))
PHP: <?php // Включаем отображение ошибок в браузере error_reporting(E_ALL); ini_set('display_errors', 'On'); if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { if (isset($_POST['progress'])) { $progress = (int)$_POST['progress'] + 10; if ($progress <= 100) { echo json_encode(['STATUS'=>'html', 'CONTENT'=>$progress]); } else { echo json_encode(['STATUS'=>'redirect', 'CONTENT'=>'ajax.php']); } exit; } } ?> <!DOCTYPE html> <html lang="en"> <head> <title>Bootstrap Example</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script> <script> $(function() { var progress = 0; (function worker() { $.ajax({ url: 'ajax.php', method: 'POST', data: {'progress': progress}, dataType: 'json', success: function(data) { if (data.STATUS == 'redirect') { window.location.href = data.CONTENT; } else { progress = data.CONTENT; $('.progress-bar').attr('aria-valuenow',progress); $('.progress-bar').css('width',progress + '%'); $('.progress-bar').text(progress + '%'); } }, complete: function() { setTimeout(worker, 10); } }); })(); }); </script> </head> <body> <div class="container"> <h2>Animated Progress Bar</h2> <div class="progress"> <div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="" aria-valuemin="0" aria-valuemax="100" style="width:0%"> </div> </div> </div>