[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: POST запрос не работает
Страницы: 1, 2
hfalcon
Всем доброго времени суток!
Неожиданно возникла проблема. Google не дал даже намёка на ответ.
Но... всё по порядку.
Есть скрипт на сервере. Он исправно работал более полугода. Клиент отправлял
на сервер POST запросы, сервер отдавал то, что положено. Надо добавить, что
этот скрипт - новая версия существующего сайта, расположен он в поддоменной папке
на сервере. Так вот, внезапно запросы перестали обрабатываться. Возвращается
страница 404 ошибки, причём в броузере она не показывается совсем. Вставленный alert
в код получения ответа пишет, что сервис недоступен (503 ошибка). По логам установлено,
что 3-мя часами позднее на основном сайте не смог зарегистрироваться новый пользователь.
В логе полно 302 и 404 ошибок. Основной сайт работает под NetCat. Ещё через пару часов
всё восстановилось на основном саёте, но новая версия вот уже 2 недели не может работать
с POST. Сервис постоянно недоступен. Провайдер говорит, что уже давно на серверах
ни каких работ не производилось и ошибки в скриптах. Я для провайдера сделал тестовые скрипты, чтобы могли сами проверить. Проверили, сказали, что ошибок нет, POST надо заменить
на GET и всё будет работать. Да замена вылечивает (было бы странно, если бы не вылечило),
но это не выход. Менял в скриптах используемые библиотеки, подключал скрипты других
пользователей сети (по их заверениям - рабочие), но всё без результата. POST просто не
доходит до скрипта!
Нужна ваша помощь, а то уже мозг закипает.
Почему не работет скрипт?
Если я ошибся разделом - извините и подскажите в какой раздел перейти,
если заинтересовавшимся моей бедой нужны будут коды - не вопрос, опубликую в следующем посте.
Заранее благодарю всех, кто откликнется.
Игорь_Vasinsky
404 - значить путь к обработчику указан неверно

вообще нужно уметь использовать либо фаербаг в мозилле, либо консоль в гугл хроме для отладки JS скриптов, смотреть что и куда отправляется.



_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
hfalcon
Ну 404 и 302 было на основном сайте. По содержимому файлов я выяснил, что текст 404.php у провайдера выдавливается по любой ошибке.
Файербаг юзал. Заголовок отправляется вроде нормальный. Приходит ответ с сервера.
Данные для отправки - верные. Но до скрипта на сервере они не доходят.
Игорь_Vasinsky
в фаербаге на какой обработчик отправляются данные?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
hfalcon
По нажатию на кнопку отправки выполняется JS-код моего файла. Выполняется указанный метод,
далее управление передаётся jQuery 2.1.3
Код на странице:
<input type="button" id="sendPOST" value="Send POST" />


Код в JS-скрипте:
	clkPost.click(function(){
$.ajax({
type: "POST",
url: "index.php",
data: {"req": dat.val()},
cache: false,
dataType: 'text',
timeout: 1000,
success: function(data){
setResult(data);
},
error: function(xhr, status, err){
setResult('Status: ' + status + ' Err: ' + err);
}
}
);


});

Игорь_Vasinsky
а если так

url:		"/index.php",


или

url:		"",


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
hfalcon
GET съедает оба предложенных варианта,
POST - Service Temporarily Unavailable в обоих вариантах
hfalcon
Может поможет, это заголовки запроса и ответа:

<headers>
<requestheaders>
<header>
POST /index.php HTTP/1.1</header>
<header>
Host: test2.v***.ru</header>
<header>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:36.0) Gecko/20100101 Firefox/36.0 FirePHP/0.7.4</header>
<header>
Accept: text/plain, */*; q=0.01</header>
<header>
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3</header>
<header>
Accept-Encoding: gzip, deflate</header>
<header>
Content-Type: application/x-www-form-urlencoded; charset=UTF-8</header>
<header>
X-Requested-With: XMLHttpRequest</header>
<header>
Referer: http://test2.v***.ru/</header>
<header>
Content-Length: 7</header>
<header>
Cookie: PHPSESSID=a1b45dcb991c4bec1f390af9d541f97</header>
<header>
x-insight: activate</header>
<header>
Connection: keep-alive</header>
<header>
Pragma: no-cache</header>
<header>
Cache-Control: no-cache</header>
</requestheaders>
<responseheaders>
<header>
HTTP/1.1 503 Service Temporarily Unavailable</header>
<header>
Server: nginx/1.6.0</header>
<header>
Date: Tue, 17 Mar 2015 09:36:40 GMT</header>
<header>
Content-Type: text/html</header>
<header>
Transfer-Encoding: chunked</header>
<header>
Connection: keep-alive</header>
<header>
X-Powered-By: PHP/5.4.26</header>
<header>
Retry-After: 120</header>
</responseheaders>
</headers>


Игорь_Vasinsky
может тогда и код обработчика покажете?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
hfalcon

var dat;
var clkPost;
var res;

$(function(){
dat = $("#mydata");
clkPost = $("#sendPOST");
res = $("#result");

clkPost.click(function(){
$.ajax({
type: "POST",
url: "index.php",
data: {"req": dat.val()},
cache: false,
dataType: 'text',
timeout: 1000,
success: function(data){
setResult(data);
},
error: function(xhr, status, err){
setResult('Status: ' + status + ' Err: ' + err);
}
}
);


});
});

function setResult(txt){
res[0].childNodes[0].data = txt;
};

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.