$.ajax({ type: "POST", url: "functions/add_vendor.php", data: { vendor_info_json : vendor_info_json }, success:function(result) { alert('Successfully Done.') location.reload(); }, error: function(jqXHR, textStatus, errorThrown){ alert('Error Message: '+ textStatus); alert('HTTP Error: '+ errorThrown); } })
Это код jquery, над которым я работаю. Далее вызывается файл add_vendor.php.
<?php include_once('../models/VENDOR_DB_MANAGER.php'); $vendor_info_json = $_REQUEST["vendor_info_json"]; $DB = new VENDOR_DB_MANAGER(); $DB->connectTo('BBY'); try { //This ALWAYS returns false to test the code. if($DB->insertDataToTable('mfVendor', $vendor_info_json)) { $DB->disconnect(); header('Content-Type: application/json'); $data = json_encode($result); echo $data; } else { throw new Exception("Error has been detected."); } } catch (Exception $e) { header("HTTP/1.1 500 Internal Server Error"); echo "Exception occurred: " . $e->getMessage(); } ?>
Ok, That 'if ($ DB-> insertDataToTable (' mfVendor ', $ vendor_info_json))' part всегда является false для проверки кода обработки ошибок $ .ajax. Независимо от того, что я делаю, ошибка: обратный вызов не работает, даже если php-код генерирует исключение все время.
Какие проблемы мне здесь не хватает? 🙁
Когда ваш сервер бросает внутреннюю ошибку сервера, со стороны Javascript это все еще успешно. В вашей функции success
вам нужно проверить код состояния ответа и обработать его соответствующим образом.