gpt4 book ai didi

php - 为什么 ajax 不适用于 POST 方法?

转载 作者:行者123 更新时间:2023-11-30 06:43:38 26 4
gpt4 key购买 nike

我有一个带有 onclick="sendNews()" 的按钮和一个执行数据库工作的 PHP 脚本。问题是 $_POST 数组在 sendNews 运行时为空。

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');

$title=@$_POST['title'];
$body=@$_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 "با موفقیت ارسال شد";

?>

问题出在哪里?

最佳答案

好的,明白了.. 要使用 ajax 发送 POST 请求,您需要设置一个 urlencoded header ,只需放在 xmlhtt.open() 之后

xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

其他代码都是我自己检查过的正确

关于php - 为什么 ajax 不适用于 POST 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8691236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com