I have two folders with a php on my domain. From one file I want to send data to the other via using ajax call. The call worked for me on localhost, but when I had my website on live server it gives 500 error on the same ajax call ?
How can I solve this issue ?
My ajax call is as following:
var data_to_send = {};
j.ajax({
url : '../orangehrm/symfony/web/index.php/auth/login',
type: "POST",
data : data_to_send,
async: false,
success: function(data, textStatus, jqXHR)
{
time_zone = j(data).find('#hdnUserTimeZoneOffset').val();
},
error: function (jqXHR, textStatus, errorThrown)
{
}
});
Your ajax call is ok (as a call, cannot account for what you post there).
Error 500 = something went wrong on the server side. It could go from a mistyped function name in a script or something similar to a bad config that kills the script. Activate logging on the server, or activate displaying errors on the server (you can find this easy with a simple google type).
Complete list of codes here: http://en.wikipedia.org/wiki/List_of_HTTP_status_codes (you can see that 500 is a generic error).
Now... some wild guesses: Since you said on your local server went fine, but broke on live, there are some usual suspects... one of them would be file permissions. On your local server you are a god, while on live you are well... less god. If your that php script uploaded files, or write something on disc, check that the user that runs the apache have rights to access/read/write that specific things.
Another usual suspect is the database connection (in case you have any). The credentials on live may be different.
And another one... php version/php extensions/php configs (like short tags for example).
Again... it may be anything... but usually I've seen that people make mistakes covered by those 3.
A 500 number error is a server-side exception - something went wrong in Apache or IIS or whatever. To determine what that was, you can check the error logs on the server (Event Viewer on Windows), or turn on "detailed error messages" in your web service software for remote requests to see more information returned to the browser - browsing locally on the server can have the same effect.
The 500
http code means your server returns an Internal Error
on the accessed url. Try to access that url without Ajax, then try to alert the url(see code bellow), copy the alerted string and paste it in your browser to see if you are pointing on the wished resource or not. This because your url seem to be poor and pointing to another thing than the wished.
DEBUG CODE:
var data_to_send = {},
_url='../orangehrm/symfony/web/index.php/auth/login';
//console.log(_url);
alert(_url);//copy this alerted _url and paste in the browser
j.ajax({
url : _url,
type: "POST",
data : data_to_send,
async: false,
success: function(data, textStatus, jqXHR)
{
time_zone = j(data).find('#hdnUserTimeZoneOffset').val();
},
error: function (jqXHR, textStatus, errorThrown)
{
}
});