2015-10-08 11 views
1

Эй, ребята, я получил код на 302 об ошибке, когда я хочу, чтобы перенаправить мою страницу, я использую header()не будет перенаправлять больше - 302 код состояния

Я искал через Google, если я мог бы найти что-нибудь, но я ничего не нашел что было актуально для меня, так что, может быть, вы, ребята, можете найти его;)

я получаю на вкладке network в element inspecting 2 ответов 1 является моей posting функции в jQuery, а другой из header('Location: index.php'); и что дает ответ в течение Reload page to pick up source code for: http://localhost/porfolio/index.php

Я сделал header('HTTP/1.1 200 OK'); Потому что я видел, что это заставит его дать код 200 OK. Но когда я это сделал, он даже не дал ответа header('Location: index.php');

Я просто не перенаправлял человека на index.php, когда он отправил, и все поля являются oke.

Ответ:

if (!empty($error)) 
{ 
    foreach ($error as $errors) 
    { 
     echo '<span class="glyphicon glyphicon-warning-sign" style="padding-right:5px; color:red;"></span><a class="errors" style="color:red;">' . $errors . '</a><br>'; 
    } 
} 
else 
{ 
    header('Location: index.php'); 
    header('HTTP/1.1 200 OK'); 
} 

Запрос

posting.done(function(data){ 
    var errors = $('<div>' + data + '</div>').find('.errors'); 
    if (errors.length > 0) 
    { 
     $("#gb-errors").slideDown().empty().append(data); 
    } 
    else 
    { 
     $("#gb-errors").slideUp().empty(); 
    } 
}); 
+1

[HTTP 302] (https://en.wikipedia.org/wiki/HTTP_302) - это код статуса перенаправления, а не код ошибки. Коды ошибок - коды 4xx и 5xx. Таким образом, выдача кода состояния 200 после заголовка местоположения бессмысленна, см. Пример диалога в википедии. – syck

+0

Oke thx для объяснения! Я отредактировал заголовок моего сообщения;) –

+1

Более четко выраженный, 'header ('Location: index.php'); header ('HTTP/1.1 200 OK'); 'ерунда. – syck

ответ

0

Вы не можете перенаправить страницу внутри Ajax запроса. Вместо этого вы можете использовать перенаправления JQuery.

+0

Thx это сработало, только я не могу прочесть код 'windows.location.href ..' в моем 'PHP else {}'. Он работает, только когда я помещаю его в свой 'jQuery else {}' –

+1

. Да, он не будет работать в PHP, поскольку у вас есть запрос на ответ с сервера через Ajax, но если вы перенаправляете на сторону PHP, тогда заголовки меняются и, следовательно, возникает ошибка 302. –

+0

Oke благодарит за информацию! ;) –