使用AJAX将POST(或GET)数据发送到PHP脚本
我试图在一个php目录中为一个intranet站点构建一个简单的“我查看了这个”函数 因此,当用户阅读了页面后,他们会单击底部的一个按钮,上面写着“我已经阅读了”,该按钮会将用户的用户ID和页面ID发送到一个简单的数据库表中,然后我可以获取该表以供其他使用 我正在尝试用AJAX和PHP来实现它 这是我的密码:使用AJAX将POST(或GET)数据发送到PHP脚本,php,ajax,post,get,Php,Ajax,Post,Get,我试图在一个php目录中为一个intranet站点构建一个简单的“我查看了这个”函数 因此,当用户阅读了页面后,他们会单击底部的一个按钮,上面写着“我已经阅读了”,该按钮会将用户的用户ID和页面ID发送到一个简单的数据库表中,然后我可以获取该表以供其他使用 我正在尝试用AJAX和PHP来实现它 这是我的密码: <SCRIPT LANGUAGE="JavaScript"> function viewSave(form) { var itemid = <?php echo $ite
<SCRIPT LANGUAGE="JavaScript">
function viewSave(form) {
var itemid = <?php echo $itemid; ?>;
var userid = <?php echo $userid; ?>;
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");
}
xmlhttp.open("GET","saveView.php?q=itemid="+itemid+"&userid="+userid,true);
xmlhttp.send();
}
</script>
函数viewSave(表单){
var itemid=;
var userid=;
var-xmlhttp;
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
open(“GET”、“saveView.php?q=itemid=“+itemid+”&userid=“+userid,true”);
xmlhttp.send();
}
我设置了一个带有隐藏字段的简单表单:
<form onSubmit="return viewSave(this)" >
<input type="submit" name="submit" value="Save" />
</form>
当我单击submit时,URL会更改,我会得到变量,如下所示:
thispage.php?itemid=455&userid=999&submit=Save
但是不会调用“saveView.php”,也不会发送数据
下面是saveView.php中的内容:
<?php
$userid =$_GET["userid"];
$itemid = $_GET["itemid"];
// Connect to the database
$dbc = mysqli_connect('localhost', 'root', '', 'viewsave');
// Write the data to the database
$query = "INSERT INTO saves (entryID, userid, itemid) VALUES ( '0', '$userid', '$itemid')";
mysqli_query($dbc, $query);
首先,您的php
文件需要一个名称:
xmlhttp.open("GET","save.php?
然后,您的参数需要名称:
xmlhttp.open("GET","save.php?q=itemid="+itemid+"&userid="+userid,true);
然后,在PHP中,您可以使用$\u GET
来获取数据(并检查它是一个数字):
离题,但如果使用jquery,您可以在浏览器兼容性方面节省大量时间和麻烦。为什么要将这些值嵌入到JS和表单中…php?q=“+itemid,userid
也没有达到您预期的效果。谢谢您,亚当!我尝试了您的代码,但仍然无法将数据传输到数据库…我已对上述代码进行了编辑。
if(array_key_exists('itemid', $_GET) && !is_nan($_GET['itemid'])) {
$itemid = $_GET['itemid'];
}