2013-11-15 5 views
0

Я создал веб-приложение, основная идея состояла в том, чтобы иметь одну страницу, а затем с ajax вставить данные из скрипта php-mysql. На локальном Xampp приложение работает отлично.jQuery-Ajax не работает на производственном сервере

На сервере производства некоторые запросы ajax работают, но другие не работают.

Chrome инспектировать элемент показывает сообщение об ошибке:

POST mysite.com/app/show_staff_profile_ajax.php 500 (Internal Server Error) jquery-2.0.3.js:7845 
send jquery-2.0.3.js:7845 
jQuery.extend.ajax jquery-2.0.3.js:7301 
showProfile ajax.js:466 
(anonymous function) ajax.js:150 
jQuery.event.dispatch jquery-2.0.3.js:4676 
elemData.handle jquery-2.0.3.js:4360 

На ajax.js линии 150 я получил:

$(document).on('click','.show_profile',function(){ 
    var id = $(this).attr("id"); 
    showProfile(id); //line 150 
    return false; 
}); 

А на линии 446:

function showProfile(id){ 
    $.ajax({ //line 446 
     type:"POST", 
     url: "show_staff_profile_ajax.php", 
     data: {id : id}, 
     success: function(data) 
     { 
      $("#program_panel").html(data); 
     } 
    }); 
} 

На show_staff_profile_ajax.php я am берёт данные из mysql и echo:html-теги с переменными php.

Я пробую два дня, чтобы исправить эту проблему. Я прочитал много сообщений, но ничего не работает

+2

Как правило, из-за некоторой проблемы на стороне сервера происходит 500 ошибок. Также. проверьте, есть ли у узла с .show_profile атрибут идентификатора. – karthikr

+1

Попробуйте отправить данные в браузере на самом сервере, поэтому вы видите фактическую ошибку, так как ошибка 500 означает, что «что-то пошло не так». Если вы запустите его на сервере, он должен предоставить вам больше информации. – Archer

+1

это странно ... я сделал скрипку и ее работу. Http://jsfiddle.net/robertrozas/mw2rt/ – Hackerman

ответ

1

Ошибка 500 означает, что в файле show_staff_profile_ajax.php есть ошибка. Попытайтесь получить дополнительную информацию об этом - обычно есть файл журнала ошибок для приложений php. Найдите его, и он, вероятно, даст вам больше информации о том, что вызвало ошибку.

Единственные данные, которые вы передаете в вызовах ajax, это «id», поэтому я тоже посмотрю на это. Может быть, поместить такую ​​строку:

console.log('profile id: ' + id); 

как раз перед запуском showProfile (ИН) в функции мыши. Могут быть некоторые элементы HTML с неправильными значениями идентификатора данных. Это должно отображать идентификатор в консоли непосредственно перед возникновением ошибки.

+0

Большое спасибо за ответ, проблема была в show_staff_profile_ajax.php с объектом DateTime. – Achilles

1

Как сказал karhikr, ошибка 500 указывает, что ошибка на вашем сервере, а не в браузере.

Xampp - это пакет Windows, Windows не чувствителен к регистру и не требует разрешения на запись - если перемещение сайта в среду Linux нарушило его, вероятность того, что это ваша проблема, - это вероятность ошибки 500 ошибка разрешения записи, чем одна заглавная.

+0

Я установил разрешения на 777, это не проблема, но спасибо. – Achilles

Смежные вопросы