Я создаю веб-приложение в CodeIgniter, и я использую jQuery и AJAX. Я создал все приложение локально (используя XAMPP), и все работало нормально. После того как я загрузил приложение на свой веб-хостинг, один AJAX продолжает терпеть неудачу. Вот часть кода:Ошибка внутреннего сервера AJAX и 500
// Get all form inputs
var inputs = $('#app-options-existing-form :input[type="text"]');
// Put them in object as name=>value
var data = {};
for(i=0; i<inputs.length; i++) {
data[inputs[i]["name"]] = inputs[i]["value"];
}
// Put loader while AJAX is working
$(".app-content-container").html('<center><img class="loader" src="<?php echo base_url();?>/img/loader.gif" ></center>');
console.log(data);
// Generate POST request
$.post("<?php echo site_url("admin/ajax_app_options"); ?>",
{"add_existing_form_submited" : true, "data" : data2},
function (data) {
alert("test" + data);
});
Вот консоль показывает ошибку и результат console.log (данные)
Во-первых, я думал, что ключ («d1d1d1») была проблема потому что я сначала использовал «1-1-1», и после того, как я его вручную изменил, он работал. Но потом я все изменил в «d1d1d1», и он не работает снова. Как я уже сказал, он работает на XAMPP, но не на сервере. Может возникнуть проблема с использованием полного URL-адреса для AJAX, а не для относительного? Но я использую его и в других запросах AJAX, и он работает.
Предложите проверить вкладку сети отладчика браузера. Он отобразит все сведения о запросе ajax. И от этого проблема, вероятно, будет очевидна. Например, являются ли url и данные ожидаемыми? – Roberto
О, извините, что я глуп. Я даже не знал о вкладке «Сеть». Каждый раз, когда у меня была проблема с AJAX, я бы отлаживал ее вручную, отображая данные ошибки, но на этот раз, так как это была ошибка 500, я не смог этого сделать. После того, как я взглянул на вкладку «Сеть», я смог увидеть ошибку Codeigniter, потому что я использовал неправильное имя таблицы в базе данных. – XploD