#ajax
#ajax
Вопрос:
Я загрузил свой проект своему хостинг-провайдеру. Это привело к ошибке в файле JavaScrript. Этот JavaScript необходим, потому что я выдаю предупреждение, которое показывает данные, которые извлекает JavaScript, но оно не отправляет ответ GET в другой файл tracker.php
, который вставляет его в базу данных. ответ GET отправляется через AJAX. я получаю 500 внутренняя ошибка сервера. Есть ли какие-либо видимые ошибки в коде, которые могут быть причиной этого:
function getXMLHTTPObject() {
var xmlHttp;
try {
xmlHttp=new XMLHttpRequest();
}
catch (e) {
try {
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
// alert("Your browser does not support AJAX!");
return false;
}
}
}
return xmlHttp;
}
function trackMe() {
var xmlHttp = getXMLHTTPObject();
xmlHttp.onreadystatechange=function() {
if(xmlHttp.readyState==4) {
var response=xmlHttp.responseText;
alert(response);
}
}
var data;
data="appName=" navigator.appName;
data ="amp;appVersion=" navigator.appVersion;
data ="amp;appCodeName=" navigator.appCodeName;
data ="amp;platform=" navigator.platform;
data ="amp;oscpu=" navigator.oscpu;
data ="amp;cookieEnabled=" navigator.cookieEnabled;
data ="amp;language=" navigator.language;
data ="amp;vendor=" navigator.vendorSub;
data ="amp;vendorSub=" navigator.vendor;
data ="amp;product=" navigator.product;
data ="amp;productSub=" navigator.productSub;
data ="amp;res=" (window.screen.width "x" window.screen.height);
data ="amp;url=" document.location.href;
data ="amp;referrer=" document.referrer;
data ="amp;uid=4bcc7d93e1b66";
xmlHttp.open("GET","tracker.php?" data,true);
xmlHttp.send(null);
//xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//xmlHttp.setRequestHeader("Content-length", data.length);
//xmlHttp.setRequestHeader("Connection", "close");
alert(data);
//xmlHttp.send(data);
}
тот же js хорошо работает на моем локальном хостинге и бесплатном хостинге. но здесь я получаю ошибку…
server error log-
[Fri Apr 29 04:21:31 2011] [error] [client 117.199.154.173] File does not exist: /home/abhiguru/public_html/project/500.shtml, referer: /project.php
[Fri Apr 29 04:19:33 2011] [error] [client 117.199.154.173] File does not exist: /home/abhiguru/public_html/project/500.shtml, referer: /project.php
[Fri Apr 29 04:19:04 2011] [error] [client 117.199.154.173] File does not exist: /home/abhiguru/public_html/project/500.shtml, referer: /project.php
файл js находится по адресу http://project.abhiguru.in/project.php
Тот же js-файл и tracker.php хорошо работает на бесплатном хостинге здесь http://abhidha.serw5.com/project.php
Проблемы с разрешением нет, поскольку я запустил 755 для файла. Fireug также сообщает о 500 внутренней ошибке сервера.
Комментарии:
1. Внутренняя ошибка сервера 500 — это ошибка, возникающая на сервере. Трудно сказать, что происходит не так, ничего не зная о вашем сервере. Попробуйте выполнить отладку, закомментировав весь код в tracker.php и просто добавьте a
print 'foo';
или что-то еще, чтобы увидеть, действительно ли соединение работает. При возникновении подобных ошибок разберите свое приложение на части и тестируйте его шаг за шагом, пока не найдете неисправный компонент. Также проверьте журнал ошибок сервера и / или PHP error log, если у вас есть к нему доступ.2. Ошибка не в вашем JavaScript. Либо ваш PHP-скрипт вызывает ошибку, либо, что более вероятно, у вас есть
.htaccess
файл, пытающийся сделать что-то, что ему не разрешено делать3. Спасибо… это решаемая … проблема mod_security…