我正在尝试在Intranet站点的php目录中构建一个简单的“我查看过”功能。使用AJAX将POST(或GET)数据发送到PHP脚本
因此,当用户阅读该页面时,他们点击底部的一个按钮,其中显示“我读过这个”,它将用户ID和页面ID发送到一个简单的数据库表中,然后我可以收集其他用途。
我试图用AJAX和PHP做到这一点。
这里是我的代码:
<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>
,我已经建立了一个简单的形式隐藏字段:
<form onSubmit="return viewSave(this)" >
<input type="submit" name="submit" value="Save" />
</form>
当我点击提交,该URL的变化,我让我的变量,如这样的:?
thispage.php的itemid = 455 &用户ID = 999 &提交=保存
但“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);
>
我猜网址参数仅仅因为出现的形式和有什么不对劲使用JavaScript?
我只是JS的初学者。
帮助赞赏。
Ray。
题外话,但你可以节省自己很多时间和头痛在br owser兼容性,如果你使用jQuery – thaJeztah
为什么你将值嵌入你的JS ** AND **到表单中? '... php?q =“+ itemid,userid'也没有做到你想要的。 –