AJAX, PERL, запись в файл и неожиданный ответ от сервера
Здравствуйте уважаемые!
Ситуация такова. Есть кнопка (выполняет функцию обновления файла конфигурации списка устройств). Значит, жмём, вылетает окно (плагин jConfirm). Далее OK, функция reload_fls() запускается и AJAX`ом шлёт запрос (пустой. В FireBag только reloadconfig – адрес к выполняемому действию в серверном скрипте), серверный скрипт «включается», делает все свои действия (обращается к путям устройств, к БД, раскидывает нужные данные, переписывает файл). И если всё хорошо или не хорошо, отправляет строку по форме JSON. Конец Вот так должно быть, но, увы и ах, не работает! А выдаёт следующее. После подтверждения OK (по кнопке), отправляет данные и сразу же в ответ получает ошибку «500». Сразу развею сомнения по поводу сервера. С ним всё нормально, полный доступ и подобного не наблюдалось на всей разработке программы. Ошибка в одном из этих двух действий или где-то между ними. Если кто знает, помогите решить головоломку. Откладывал не одну неделю решение, вот так сказать и прижало сейчас. Заранее благодарю всех, кто откликнется! Сама функция JQuery function reload_fls(){ jConfirm('Вы действительно хотите <b><font color="red">ОБНОВИТЬ КОНФИГ FLUSSONIC?</b></font><br /> Часть потоков может прерваться!', 'Подтверждение', function(r) { if(r){ var cam_url = cam_control+"/cgi-bin/admin.pl?m=reloadconfig"; $.ajax({ type: 'GET', dataType: 'json', cache: false, url: cam_url, success: function(data){ if(data.error != undefined ) { if(undefined != err_lang[data.error]) { alert('Ошибка: '+err_lang[data.error]); }else{ alert('Возникла неизвестная ошибка, попробуйте позже. ('+data.error+')'); } } else { jAlert('Конфиг успешно обновлён.','Информация'); } }, error:function (xhr, ajaxOptions, thrownError, request, error){ alert('Возникла неизвестная ошибка, попробуйте позже. \n [ \n'+'xrs.status = ' + xhr.status + '\n' + 'thrown error = ' + thrownError + '\n' + 'xhr.statusText = ' + xhr.statusText + '\n' + 'request = ' + request + '\n' + 'error = ' + error+' \n ]'); } }); } }); } Действие из серверного скрипта Код:
when ("reloadconfig") { INI файл для серверного скрипта Код:
[General] |
А если просто открыть в новой вкладке ссылку /камконфиг/cgi-bin/admin.pl?m=reloadconfig
|
Как вариант для пробы попробовать можно. Сам не думал об этом. А что в результате? Запуск или не запуск куска кода? Я просто думаю, может нужно AJAX`ом что то ещё отправить для толчка скрипту. Хотя тоже бред)
|
Я имею ввиду проверить корректно ли работает скрипт. Думаю будет таже ошибка 500, так что AJAX тут не причем.
|
Часовой пояс GMT +3, время: 13:49. |