我正在使用AJAX来调用PHP中的函数。它返回我的数据很好,但它继续将函数名称放在returnText的开头。
我的Javascript / ajax
function getfirst() {
var myphp=document.getElementById('myphp').value ;
http=createRequestObject();
url= tablename + '.php?filename=' + tablename;
url= url + '&function=movefirst';
url= url + '&seekindex=CustomerKey';
url= url + '&maxdata=' + maxdata;
http.open('GET',url,false);
http.send(null);
document.getElementById('myreturn').value;
}
我的PHP
<?php include '../../tophat.php';
$_REQUEST['function']();
function movefirst(){
$filename=$_REQUEST['filename'];
$seekindex=$_REQUEST['seekindex'];
$maxdata=$_REQUEST['maxdata'];
opendbdata();
$query="SELECT * FROM ". $filename . " ORDER BY " . $seekindex;
$result=mysql_query($query);
$returnkey='';
for ($i=0; $i<=$maxdata-1; $i++) {
$returnkey = $returnkey . mysql_result($result,0,$i) . "~";
}
echo $returnkey;
}
我在客户数据库中查找第一个客户,它返回记录,但在returnText的开头是函数的名称。这是.returnText的开头:"movefirst4SEASONS1~4 Seasons Pottery~336 Hammond Dr NE~"
我之前从未遇到过这个问题。在此先感谢您的帮助。
答案 0 :(得分:1)
请注意
dropDatabase()
或rebootServer()
),因为您正在调用$_REQUEST['function']
答案 1 :(得分:0)
我怀疑tophat.php中还有一些调试代码。尝试在include之后放置一个die(),看看新的responseText是否只包含函数名。
那就是说,我同意并赞成Steffen的答案 - 像
这样的语法$_REQUEST['function']();
看起来像是一场等待发生的灾难。即使它不是,它仍然看起来像它,但无论如何都是坏的。