Ich habe ein Formular innerhalb eines iframe in meinem CodeIgniter Anwendung die POST-Daten aus einem Formular erhalten:Wie innerhalb eines iframe
<div class="settings"><h2>Einstellungen</h2>
<div class="main-content">
<iframe src="" name="main-content">
<form id="new-role-form" method="post" action="<?php echo base_url('index.php/home/settings') ?>">
<input class="role-input" type="text" placeholder="Rolle" name="role"><input class="role-input" type="password" placeholder="Passwort" name="password"><button class="button role-submit" type="submit"><span class="glyphicon glyphicon-plus"></span></button>
</form>
</iframe>
</div>
</div>
Bei dem Absenden dieses Formulars den folgenden Code sollte (der einreichen ausgeführt werden soll, Arbeits ich es getestet, ich die Eingänge der Form hier bekommen):
$(document).on('submit', '#new-role-form', function(event) {
var form = $(this);
var name = $('input[name="role"]', form).val();
var password = $('input[name="password"]', form).val();
$.ajax({
url: '<?php echo base_url('index.php/ajax/insertRole'); ?>',
type: 'POST',
data: {name: name, password: password},
success: function() {
alert("success");
}
});
event.preventDefault();
});
Und das ist die insertRole Funktion meiner ajax-Controller:
public function insertRole() {
$this->Database->insert($this->input->post('name'), $this->input->post('password'));
}
Hier wird der Fehler angezeigt: ...index.php/ajax/insertRole 500 (Internal Server Error)
Wie kann ich die POST-Daten aus einem Formular in einem Iframe abrufen?
Dies ist nicht einmal beantwortet meine Frage hilft. Meine Submission-Veranstaltung ist völlig in Ordnung. – Tywele
Der Name der Frage: "Wie Sie die POST-Daten von einem Formular innerhalb eines Iframes erhalten" und Ihre letzte Frage: "Wie kann ich die POST-Daten von einem Formular in einem Iframe abrufen?" macht mich denken, dass Sie nicht in der Lage sind, die $ _POST von Ihrem iframe zu bekommen ... Wenn Sie einen 500 Server Fehler haben, versuchen Sie die $ _POST innerhalb der 'insertRole()' zu echo (um zu beweisen, dass die Informationen wirklich sind dort) und überprüfe, dass '$ this-> Database' definiert ist. Normalerweise versuche ich zwischen einfachen und doppelten Anführungszeichen zu unterscheiden um Probleme zu vermeiden (ich meine in: '" Php echo base_url ('index.php/ajax/insertRole');?> "') –
Nach ein paar Tests scheint es wie meine einziger Fehler war eine ungültige SQL-Abfrage, aber danke für die Hilfe :) – Tywele