Итак, у меня есть приложение, которое отлично работает на моем PHP 5.6 XAMPP-сервере. Долгое время go я перенес все на веб-сайт Host Gator, и я не помню, на какой версии PHP он работал, но он работал так, как ожидалось. Однако недавно произошли ошибки, и я отследил их, и виновником является ошибка 406 ответа XMLHttpRequest. Так что я могу отследить ошибку проще, я удалил лишние коды и просто оставил строки, которые будут воспроизводить ошибку. Host Gator в настоящее время работает только на версии 5.4 PHP.
Это мой код PHP ... По сути, это возвращает JSON ответ.
<?php
require 'sql.php';
require 'securitycheck.php';
$response = array();
try {
//temporarily removed the codes that get the data sent by the client... Even with these removed, shouldn't cause errors...
$response["code"] = 1;
$response["message"] = "File Accepted";
echo json_encode($response);
//}
} catch (OAuthException $e) {
echo $e->getMessage();
}
?>
Теперь это мой код на стороне клиента, который принимает ответ от сервера ...
var ajax = new XMLHttpRequest();
ajax = new XMLHttpRequest();
ajax.open("POST",'ajax/savefile.php', false);
ajax.setRequestHeader("Accept", "application/json");
ajax.setRequestHeader('Content-Type', 'application/upload');
ajax.setRequestHeader("Http-X-Requested-With", "XMLHttpRequest");
ajax.setRequestHeader("Security-Key", securitykey);
ajax.send("filename=" + savedname + "&filedata=" + JSON.stringify(canvas.toJSON()) + "&width=" + canvas.getWidth() + "&height=" + canvas.getHeight() + "&command=update");
if (ajax.status == 200){
response = JSON.parse(ajax.responseText);
if (response.code == 1){
alertify.notify(response.message, 'success', 3);
}else{
alertify.notify(response.message, 'error', 3);
closeEvent.cancel = true;
}
}
Он хорошо работает на моем сервере, но выдает ошибку на сервере HostGator. Кто-нибудь может помочь мне исправить эту ошибку? Как ответ не может быть принят HostGator в качестве сервера, когда он работает на моем XAMPP? Большое вам спасибо.