PHP注意:$ _GET中的未定义索引

时间:2015-03-05 12:21:13

标签: php jquery ajax get

我一直在尝试为我的网络应用程序完成服务器端脚本,并遇到了一个我似乎无法解决的问题。

我正在使用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"
}
[]

1 个答案:

答案 0 :(得分:-1)

在expload之前使用if语句

if($_GET['role']) {
    explode(":", $_GET["role"]);
}

您正在检查所有其他GET变量而不是此