-1

我在从 JSON 中检索数据时遇到困难。当我单击按钮时,它将触发调用函数,调用函数将调用json.jsp文件以从数组中检索数据。现在我无法检索数据。这是我的 JavaScript 文件;

var callback;
function call(uid, pw) {
    callback = true;
    $.getJSON("json.jsp" + "?uid=" + uid + "&rdm=" + Math.random(), function (data) {
        $.each(data.menulist, function (key, val) {
            $("#cont").append("<div>" + val + "</div>");
        });
        callback = false;
    });
}

以下是我的jsp文件;

String uid=request.getParameter("uid")==null?"xxx":request.getParameter("uid");

if (uid.equalsIgnoreCase("admin")){  
  {"menulist":[{"menu":"menu1"},{"menu":"menu2"},{"menu":"menu3"}]}   
} else if (uid.equalsIgnoreCase("user")){   
   {"menulist":[{"menu":"menu1"},{"menu":"menu2"}]}
} else {   
  {"menu":"Menu"}
}
4

2 回答 2

1

最后我得到了这样的;

$("#cont").append("<div>" + data.menulist[i].menu + "</div>");

于 2013-10-31T09:06:54.260 回答
0

首先,您的 JSP 代码看起来不正确。您应该用 <% %> 将 JSP scriptlet 括起来,如下所示:

<%String uid=request.getParameter("uid")==null?"xxx":request.getParameter("uid");

if (uid.equalsIgnoreCase("admin")){  %>
    {"menulist":[{"menu":"menu1"},{"menu":"menu2"},{"menu":"menu3"}]}   
<%} else if (uid.equalsIgnoreCase("user")){   %>
    {"menulist":[{"menu":"menu1"},{"menu":"menu2"}]}
<%} else {   %>
    {"menu":"Menu"}
<%}%>

您是否尝试直接访问 URL 并检查 JSP 是否输出正确的 JSON 内容。

http://localhost:8080/yourapp/json.jsp?uid=admin&rdm=1
于 2013-10-22T09:51:44.673 回答