我知道我的问题已经被回答了很多次,但我仍然不知道如何让一个问题为我工作。 我现在正在尝试用 2 天的时间通过阅读论坛来解决我的问题,但我可能在基础知识方面存在一些问题,我找不到这些问题,我需要您的帮助。
我有一个创建 JSON 的 servlet(至少我这么认为),这是代码
JSONObject json = new JSONObject();
for(int i=0; i<20; i++){
JSONObject jsonItem = new JSONObject();
jsonItem.put("position", positions[i]);
json.accumulate("group", jsonItem);
}
String output = json.toString();
response.setContentType("application/json");
PrintWriter out = response.getWriter();
out.print(output);
out.flush();
如果我运行 servlet,我将得到以下信息:
{
"group": [
{
"position": 235
},
{
"position": 61
},
{
"position": 248
},
{
"position": 206
},
{
"position": 26
},
{
"position": 329
},
{
"position": 176
},
{
"position": 180
},
{
"position": 218
},
{
"position": 83
},
{
"position": 177
},
{
"position": 142
},
{
"position": 17
},
{
"position": 249
},
{
"position": 310
},
{
"position": 369
},
{
"position": 251
},
{
"position": 256
},
{
"position": 337
},
{
"position": 63
}
]
}
<小时/>
我的 jQuery 如下:
$(document).ready(function(){
$("#clickMe2").click(function(){
alert("something2");
$.getJSON("/RandomNumGen",function(result){
alert("something3");
$.each(result, function(i, field){
$("#myTarget").append(field + " ");
});
});
});
});
也许这不是正确的阅读方式,但它永远不会进入第二个警报“something3”。所以我认为它永远不会读取 JSON。 我尝试了很多方法来读取它,但问题似乎是从不读取 JSON。
我在 tomcat 7.0.22 上运行 servlet,并且我有 @WebServlet("/RandomNumGen")
我认为这意味着我不需要 web xml,但不是'没有运行,所以我决定也创建一个 web.xml。
奇怪的是,当我尝试一次返回带有 MIME“text/html”的内容并使用普通 get $.get
获取它时,它确实得到了它并打印 [Object object]
在浏览器上。
显然我以前没有使用过 JSON,而且我可能会错过基础知识,因为我在教程中运行得非常快。
最佳答案
你的jquery是错误的。您必须更改您的$.each
。试试这个
$.each(result.group, function(i, field){
$("#myTarget").append(field.position + " ");
});
关于jquery - 我无法使用 getJson 读取 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7723405/