我一直在尝试为我的网络应用程序完成服务器端脚本,并遇到了一个我似乎无法解决的问题。
我正在使用GET请求从服务器发送/接收数据。直到我实现最后一个GET请求,代码才正常工作。现在我的错误日志中有PHP Notice: Undefined index: role
,我找不到原因。
这是PHP服务器端代码。
$handler = new XMLHandler();
if ($_GET["ajax"] == "true") {#fn - Function
if($_GET["fn"] == "init"){
}elseif($_GET["fn"] == "cou"){
echo $handler->toJSON($handler->getCourses());
}elseif($_GET["fn"] == "mod"){
echo $handler->toJSON($handler->getModules($_GET["data"]));
}elseif($_GET["fn"] == "filt"){
$breakdown = explode(":", $_GET["role"]);//breakdown the roleString from the client side into an Array
echo $handler->toJSON($handler->getCoursesByRole($breakdown[1]));
}
}
这是JQuery AJAX调用
var data = {
"fn" : "filt",
"ajax" : "true",
"role" : roleString
};
$.ajax({
type: "GET",
url: SERVICE_URL, //Relative or absolute path to response.php file
data: data,
contentType: "application/json",
success: function(response) {
console.log(response);
var i, list = "";
for (i = 0; i < response.length; i++) {
console.log(response[i]);
list += formatListItem(response[i]);
}
$("#cList").html(list).listview('refresh');
}
});
}
roleString
如下所示:core:false:false
如果有人可以提供任何建议或帮助,我会非常感激。
$ _GET的var_dump给了我这个:
array(3) {
["fn"]=>
string(4) "filt"
["ajax"]=>
string(4) "true"
["role"]=>
string(34) "adultScotland:projectM:false:false"
}
[]
答案 0 :(得分:-1)
在expload之前使用if语句
if($_GET['role']) {
explode(":", $_GET["role"]);
}
您正在检查所有其他GET变量而不是此