2014-12-30 4 views
-1

У меня возникают проблемы после переноса моего инструмента управления проектами на новый сервер. На странице списка проектов есть флажок, который при включении скрывает весь проект со статусом complete и записывает запись в таблицу конфигурации базы данных (HIDE_COMPLETE_PROJECTS), а затем перезагружает страницу списка проектов после успешной публикации сообщения AJAX. Однако после перемещения сайта на другой сервер изменения выполняются в файле hange_hide_completed_status.php. но страница с списком проектов не перезагружается, кажется, что никакой ответ не отправляется с сервера. Не уверен, что это имеет значение, но у моего старого сервера был php 5.2,17, у нового был установлен 5.4. Также версия jquery очень старая (1.4.4). Я думал, что у меня может быть проблема с сжатием, поэтому отключен mod_deflate на новом сервере, но это не помогло. Интересно, если я вызову php-файл change_hide_completed_status.php непосредственно со старого сайта, я получу непечатаемые символы и на новом сайте, firefox не отобразит страницу из-за ошибки кодирования содержимого. Я думаю, что есть проблема с конфигурацией сервера/типом контента, но я не могу приблизиться.Сообщение Ajax не удается после перемещения сервера

Вот код:

function changeStatus(checkboxStatus){ 
    if (checkboxStatus.checked){ 
     hide_status_value =1; 
    }else{ 
     hide_status_value =0; 
    } 
    $.ajax({ 
    type: 'POST', 
    data: {'hide_status':hide_status_value}, 
    url: 'change_hide_completed_status.php', 
    cache:false, 
    success: function(response) { 
      window.location.reload(true); 
      } 
    }); 
} 


<?php 
include_once ("/var/www/sdtm/etc/config.php"); 
$status = $REQUEST_DATA['hide_status']; 
$d = new PhPagaDbData; 

$fields = array('HIDE_COMPLETE_PROJECTS' => $status); 
$key = 'HIDE_COMPLETE_PROJECTS'; 
$fields = array('cfg_value' => $status); 
$r = $d->update('config', $fields, 'cfg_key = ?', $key); 
exit; 
?> 

HTTP ответ старый сервер:

POST /sdtm/change_hide_completed_status.php HTTP/1.1 
Host: mccosh.de 
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0 
Accept: */* 
Accept-Language: de,en-US;q=0.7,en;q=0.3 
Accept-Encoding: gzip, deflate 
Content-Type: application/x-www-form-urlencoded; charset=UTF-8 
X-Requested-With: XMLHttpRequest 
Referer: http://mccosh.de/sdtm/projects.php 
Content-Length: 13 
Cookie: PHPSESSID=d2b013669f1268af1cf516e60ae20c75 
Authorization: Basic c2VjcmV0OnNlY3JldA== 
Connection: keep-alive 
Pragma: no-cache 
Cache-Control: no-cache 

hide_status=0 


HTTP/1.1 200 OK 
Date: Tue, 30 Dec 2014 11:04:13 GMT 
Server: Apache 
X-Powered-By: PHP/5.2.17 
Expires: Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache 
Vary: Accept-Encoding 
Content-Encoding: gzip 
Content-Length: 220 
Keep-Alive: timeout=5, max=8 
Connection: Keep-Alive 
Content-Type: text/html; charset=iso-8859-1 

HTTP ответ новый сервер:

http://192.168.148.180:12323/change_hide_completed_status.php 
POST /change_hide_completed_status.php HTTP/1.1 
Host: 192.168.148.180:12323 
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0 
Accept: */* 
Accept-Language: de,en-US;q=0.7,en;q=0.3 
Accept-Encoding: gzip, deflate 
Content-Type: application/x-www-form-urlencoded; charset=UTF-8 
X-Requested-With: XMLHttpRequest 
Referer: http://192.168.148.180:12323/projects.php 
Content-Length: 13 
Cookie: PHPSESSID=4pj4md762cm2n1efqm5kljuse2; shellInABox=942508454:111011010 
Connection: keep-alive 
Pragma: no-cache 
Cache-Control: no-cache 

hide_status=0 


HTTP/1.1 200 OK 
Date: Tue, 30 Dec 2014 10:39:16 GMT 
Server: Apache/2.2.22 (Debian) 
X-Powered-By: PHP/5.4.4-14+deb7u5 
Content-Encoding: gzip 
Expires: Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache 
Content-Length: 23 
Keep-Alive: timeout=5, max=100 
Connection: Keep-Alive 
Content-Type: text/html; charset=iso-8859-1 
+0

Какой код возвращает ваша страница PHP? У вас много изменений между PHP 5.2 и 5.4. – Debflav

+0

Если я напрямую обращаюсь к файлу php на старом сайте: http://mccosh.de/sdtm/change_hide_completed_status.php?hide-status=0 В браузере я получаю непечатаемые символы: e 0Dw # ' ӸM ĩWU T N d K MY L- " r/cʑ ' , @ ! WAaQ0ӢPR @ "㺮 5WtG2q ~ Hq \ гс; 2k & B $ vj_ e ; { N Ȕ – user2564684

+0

Новый сервер возвращает 23 байта содержимого, что это такое? Затем снова появляется «X-Powered-By: PHP/5.2.17», как это происходит? – Marek

ответ

0

Так что теперь я чувствую себя глупо: приложение использует собственное сжатие gzip, которое каждый раз закручивалось . После отключения этого все было в порядке.