我目前的网址是:www.mysite.com/index.php?user = 123
点击链接以激活ajax页面以打开。 ajax页面包含以下内容:
$usernum = $_GET["user"];
$result = mysql_query("SELECT * FROM Persons WHERE user = $usernum");
这会产生错误:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\Ampps\www\social2\profile\indexBasics.php on line 29
如果我在用户号码中硬编码,则没有错误,但它只是拒绝获取地址栏变量。
帮助?建议?
-----添加信息------
<script>
window.onload = function () {
var basics = document.getElementById('basics'),
favorites = document.getElementById('favorites');
basics.onclick = function() {
loadXMLDoc('indexBasics');
var otherClasses = favorites.className;
if (otherClasses.contains("Active")) {
basics.className = 'statusOptionActive';
favorites.className = 'statusOption';
}
}
favorites.onclick = function() {
loadXMLDoc('indexFav');
var otherClasses = basics.className;
if (otherClasses.contains("Active")) {
favorites.className = 'statusOptionActive';
basics.className = 'statusOption';
}
}
function loadXMLDoc(pageName)
{
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.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("centreCont").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","../profile/" + pageName + ".php",true);
xmlhttp.send();
}
}
</script>
答案 0 :(得分:0)
所以当你点击你的按钮(或者AJAX事件的任何火灾)你说你在www.mysite.com/index.php?user=123
时,你会加载一个不同的URL,类似于www.mysite.com/myajaxpage.php
。
在这种情况下,您可能忘记将user参数传递给AJAX请求。因此,您无法访问$_GET['user']
中的myajaxpage.php
,因为它未在您的网址中定义。
如果你正在使用jQuery,你可以这样做:
$.urlParam = function(name){
var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
return results[1] || 0;
}
// ....
$.post('myajaxpage.php', {'user': $.urlParam('user')}, function(data) {
// your stuff
});
击> <击> 撞击> 编辑:作者使用Vanilla JS,所以这个例子毫无意义。