Próbuję nauczyć się AJAX dla tego projektu w pracy. Mam witrynę, która ładuje leki, które przyjmuje pacjent.Ajax - 500 Wewnętrzny błąd serwera
Nazywam tę funkcję AJAX rekurencyjnie, tak aby dodała nową tabelę zawierającą pojedynczy lek i 7 dni historii. Mam problemy z uzyskaniem kodu do wykonania w FF i IE. Działa idealnie dobrze w chromie. Miałem powiadomienia wyświetlające xmlhttp.status i to, co mam:
xmlhttp.status == 500 (wewnętrzny błąd serwera ).
Skomentowałem wszystkie moje rekursy, więc jest zawężony do tego tid bit kodu. (x śledzi liczbę leków, więc wiem, kiedy przestać)
function LoadMeds()
if (x == MaxMedCount)
{
document.getElementById("the_day").value = parseInt(document.getElementById("the_day").value)+7;
}
if (x == (MaxMedCount - 1))
{
document.getElementById("x").value = x + 1;
show();
}
else
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
try
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var div = document.createElement('div');
div.innerHTML= xmlhttp.responseText;
document.getElementById('MedTable').appendChild(div);
document.getElementById("the_med_").value = the_med_;
}
}
catch(e)
{
alert("Error");
}
}
xmlhttp.open("GET","URL with variables passed",true);
xmlhttp.send();
document.getElementById("x").value = x + 1;
}
jeśli potrzebujesz więcej kodu, daj mi znać.
'Upewnij się również, że cokolwiek obsługuje żądanie, oczekuje na żądanie jako GET, a nie POST" - Jak wtedy użyć metody jQuery.post()? Jeśli chciałbym pisać do bazy danych, nie powinienem składać prośby o Ajax jako POST – Medorator
@buffer Jego przykład pokazuje 'xmlhttp.open (" GET "," URL ze zmiennymi przekazanymi ", true);', więc komentarz na temat serwera, który oczekiwał, że GET jest specyficzny dla jego kodu. Użyj POST od klienta, jeśli obsługa żądań serwera oczekuje POST. –
Mam ten sam błąd, wiem, że wysyłam dużo zapytań ajax do serwera i proszę o wiele danych. Spodziewam się, że kilka próśb czasami zawiedzie. Chcę tylko ukryć to wyskakujące okienko błędów i nie chcę, aby użytkownik końcowy zobaczył, że żądanie nie powiodło się. Jak mogę to zrobić ? Używam metody ajax jquery. – Dashrath