这是我的javascript代码:
$(document).ready(function()
{
$("li").click(function() {
var childid = $(this).attr("id"); /* this works(gets id of clicked li) */
if(childid)
{
var child = childid.split(';;;');
$('#Grid').load('../Grid/FillWithGrid.php',{"name" : child[1], "family" : child[0]}); /* I think problem is here */
}
})
})
<div class="Grid" id="Grid">
This is index.php where it must be pasted
</div>
这是FillWithGrid.php:
<?PHP
header('Content-Type: text/html; charset=utf-8');
require_once("../Grid/conf.php");
$conn = mysql_connect(PHPGRID_DB_HOSTNAME,PHPGRID_DB_USERNAME,PHPGRID_DB_PASSWORD);
$CHName = mysql_real_escape_string($_GET["name"]); /*ERROR : Undefined value*/
$CHFamily = mysql_real_escape_string($_GET["family"]); /*ERROR : Undefined value*/
mysql_close($conn);
if($CHFamily & $CHName)
{
$query = "select * from `view_marks` where `name` = '$CHName' and `family` = '$CHFamily' ";
$dg1 = new C_DataGrid($query);
$dg1->enable_advanced_search(true);
$dg1 -> display();
}
?>
1)我无法从javascript获取childname和childfamily。它说'未定义的名字'和'未定义的家庭'。所以它没有从javascript获得价值。 ---决定!!!
2)点击li ...
时显示空白页面有没有人知道。请帮忙
感谢!!!
答案 0 :(得分:2)
当您为加载函数提供数据时,请求方法将是POST而不是GET。在PHP中使用$ _POST获取值而不是$ _GET,如下所示。
$CHName = mysql_real_escape_string($_POST["name"]);
$CHFamily = mysql_real_escape_string($_POST["family"]);
有关load()的更多信息,请参阅this
答案 1 :(得分:0)
查询中有错误
$query = "select * from `view_marks` where `name` = '$CHName' and '$CHFamily' ";
应该是
$query = "select * from `view_marks` where `name` = '$CHName' and `family` = '$CHFamily' ";
如果我错了,我不知道它可能是什么; - )
〜干杯
答案 2 :(得分:0)
尝试使用console.log()来检查是否传递了值,例如:
$('#Grid').load('../Grid/FillWithGrid.php',{"name" : child[1], "family" : child[0]}, function(responseText){console.log(responseText)});
在FillWithGrid.php中:
print_r($_GET);
die;
也许它可以提供帮助......如果不是 - 请在浏览器开发者工具中检查HTTP请求/响应。
发给我一个链接(通过priv)问题,也许我可以解决它。
〜干杯