Ich benutze Ajax am Front-End-Joomla-Website, aber leider läuft es nicht. Hier ist mein Code:500 "Interner Server Fehler" mit Ajax in Joomla
/components/com_prova/js/dashboard.js
$.ajax({
url: "index.php?option=com_prova&task=ajaxraw.updateReserve&format=raw",
data: { robotId: idRobot, reserved: book}
}).done(function(response) {
console.log(response);
});
/components/com_prova/controllers/ajaxraw.php
<?php
defined('_JEXEC') or die('Restricted access');
jimport('joomla.application.component.controller');
jimport('functions.php');
class MycomponentControllerAjaxraw extends JController
{
function updateReserve(){
$booked = JRequest::getVar('reserved');
$robotId = JRequest::getVar('robotId');
$db_external=db_ext();
$query = $db_external->getQuery(true);
$query = 'UPDATE robots SET booked='.$booked.' WHERE id='.$robotId;
$db_external->setQuery($query);
$db_external->query();
}
}
?>
ich diesen Fehler:
jquery-1.12.3.min.js:4 GET http://xxxxxxxx/xxxxxxx/index.php?option=com_prova&task=ajaxraw.updateReserve&format=raw&robotId=1&reserved=1&lang=it 500 (Internal Server Error)
Ich habe verschiedene Beiträge darüber gelesen, aber nichts funktioniert .... bitte helfen!
UPDATE
function db_ext(){
$option = array();
$option['driver'] = 'mysql'; // Database driver name
$option['host'] = 'xxxxxx'; // Database host name
$option['user'] = 'xxxxxxx'; // User for database authentication
$option['password'] = 'xxxxxxxx'; // Password for database authentication
$option['database'] = 'xxxxxxxxx'; // Database name
$option['prefix'] = ''; // Database prefix (may be empty)
$db_external = &JDatabase::getInstance($option);
return $db_external;
}
UPDATE DEBUG
Wenn ich gehe zu
index.php? Option = com_prova & task = ajaxraw.updateReserve & format = raw & robotId = 2 & reserviert = 1 & lang = de
Ich habe diesen Fehler
Invalid controller: name='ajaxraw', format='raw'
Jemand kann mir helfen?
"Anforderung" ist veraltet. Bitte verwenden Sie [JInput] (http://docs.joomla.org/Retrieving_request_data_using_JInput). Sie sollten auch [Joomla API richtig] (http://docs.joomla.org/Inserting,_Updating_and_Removing_data_using_JDatabase) für Ihre Datenbank-Abfrage verwenden – Lodder
Was ist in 'index.php'? Diese Datei scheint den Fehler 500 zu erzeugen. – Marcus
@Marcus - 'index.php' ist Joomlas Kerndatei, von der die Anwendung ausgeführt wird. Das wird nicht das Problem sein;) – Lodder