jQuery AJAX POST PHP-Datei die UPDATE-Datenbank nicht aktualisieren
Ich versuche zu bauen, ein kleines CMS-system, ich möchte mithilfe von AJAX und jQuery zu tun.
Wenn ich nicht AJAX verwenden, der code funktioniert, ich habe keine Ahnung, warum die Daten nicht weitergegeben werden, richtig. AJAX-Erfolg kehrt zurück "Erfolg"
Jede Hilfe ist willkommen.
Hier ist mein Javascript:
$(document).ready(function(){
var aboutContent = $('#aboutContent').attr('value');
$('#aboutUpdate').submit(function() {
$.ajax({
type: "POST",
url: "scripts/update.php",
data: "aboutUpdate="+aboutContent,
beforeSend: function(){ $('#aboutStatus').fadeIn(250).css('color', '#017c04').html('processing...'); },
success: function(){ $('#aboutStatus').fadeIn(250).css('color', '#017c04').html('Saved Successfully!').delay(500).fadeOut(250); },
error: function(){ $('#aboutStatus').fadeIn(250).css('color', '#ff464a').html('An error occurred!').delay(500).fadeOut(250); }
});
return false;
});
});
Hier ist mein HTML:
<?
$query = "SELECT * FROM pageContent WHERE page = 'about'";
$result = mysql_query($query);
while($rows = mysql_fetch_array($result)){
?>
<div class="pageContent">
<h2>About</h2>
<form id="aboutUpdate" method="post">
<textarea class="editor" id="aboutContent" cols="50" rows="20"><? echo $rows['content']; ?></textarea>
<input type="submit" value="Save Now"><span class="updateStatus" id="aboutStatus"></span>
</form>
</div>
<?
}
?>
Hier ist die PHP - (scripts/update.php):
$aboutContent = mysql_real_escape_string($_POST['aboutUpdate']);
if(isset($_POST['aboutUpdate'])){
$query="UPDATE pageContent SET content='$aboutContent' WHERE page='about'";
$result=mysql_query($query)or die(mysql_error());
if($result){
echo "Success";
}
else{
echo "Update Error";
}
}
else{
header("location:http://google.com");
}
- habe Sie angeschlossen die aufgerufene Seite per ajax auf eine Datenbank ? ?
- Haben Sie aktiviert
<?php ini_set('display_errors'); error_reporting(E_ALL); ?>
um zu sehen, ob etwas passiert ist? auch, versuchen Sie es schrittweise durch den code durch verschieben umexit('Exiting Application After Line n');
- Ich habe jquery aufgerufen
- Ich habe bereits, AJAX-Antwort 4 oder Erfolg.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wurde das Problem behoben. Hier ist, wie:
Zuerst auf die TEXTAREA muss ich angeben, das Attribut
also die PHP isset ziehen kann, die Daten.
Zweite, die ich bemerkte, wurde eine variable 'nicht definiert' bei der Einreichung.
Hier ist die Arbeit Javascript:
HTML:
PHP update.php:
Versuchen, Ihre Ajax-Funktion wie folgt:
Beachten Sie die änderung in der POST-Daten-Linie.
"UPDATE pageContent SET content='".$aboutContent."' WHERE page='about'"
isset
auf Ihre$aboutContent
variable.Absolut sicher, dass mit diesem
data: "aboutUpdate="+aboutContent
Sie senden etwas Total falsch.Sollte es
data: {aboutUpdate: aboutContent}
Plus ich bin mir nicht sicher, dass die textarea hat eigentlich Attribut-Wert. Versuchen
oder