J'ai un bouton avec onclick="sendNews()"
et un script PHP qui fait fonctionner la base de données. Le problème est que le tableau $_POST
est vide lorsque sendNews
s'exécute.Pourquoi ajax ne fonctionne pas avec la méthode POST?
Javascript:
function sendNews()
{
var title=document.getElementById("title").innerHTML;
var body=document.getElementById("boddy").innerHTML;
var params="title="+title+"&body="+body;
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
//Send the proper header information along with the request
xmlhttp.open("POST","sendnews.php",true);
xmlhttp.send(params);
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("newsAddResult").innerHTML=xmlhttp.responseText;
}
}
}
PHP:
<?php
include("../inc/functions.php");
if(!loginCheck())
header('Location: index.php');
[email protected]$_POST['title'];
[email protected]$_POST['body'];
var_dump($_POST);
$q=sprintf("insert into `news`(`id`,`title`,`body`,`time`) values(NULL,'%s','%s','%s')",$title,$body,jgmdate('l jS F Y h:i:s A'));
mysql_query($q) or die("خطا".mysql_error());
echo "با موفقیت ارسال شد";
?>
Où est le problème?
Votre code a l'air correct à première vue, donc c'est plus une question sur les choses que nous ne voyons pas/ne savons pas? Quel est le contenu de 'params'? Quels types d'éléments sont '# title' et' # boddy'? Si ce sont des éléments de formulaire, vous voudrez probablement 'value' au lieu de' innerHTML'. –
Si vous modifiez votre 'sendnews.php' pour vider le contenu' $ _POST' dans un fichier, est-il toujours vide? – sarnold
Incidemment, vous demandez le '.innerHTML' d'un objet nommé' boddy' - est-ce une faute de frappe ou intentionnelle? – sarnold