jQuery getJSON函数,警报不起作用

时间:2010-01-06 04:07:07

标签: jquery getjson

我试图让jquery getJSON函数起作用。以下看起来很简单,但它不起作用。

$("#edit-item-btn").live('click', function() {
    var name = this.id;
    $.getJSON("InfoRetrieve",
       { theName : name },
       function(data) {
       alert(name);
    });
});

5 个答案:

答案 0 :(得分:3)

  1. 使用简单的getJSON
  2. 替换alert来电,确保周围的代码与您的DOM一起使用
  3. 确保“InfoRetrieve”路径确实存在。如果您使用 InfoRetrieve 替换网址栏中的文件名,它是否会返回JSON
  4. 在关闭点击处理程序之前,需要使用function(data)关闭
  5. }
  6. { theName : theName }对我来说更有意义data。你确定你输入了吗?

答案 1 :(得分:2)

您在两个地方使用name变量,但永远不会定义此变量。

答案 2 :(得分:2)

你不应该做警报(数据)吗?

答案 3 :(得分:1)

您是否尝试使用Firebug或Chrome开发者工具查看正在发出的请求?

您网站的当前路径中是否存在名为InfoRetrieve的文件?它又回归了什么?

答案 4 :(得分:0)

我不相信你的代码是正确的。试试这个,看看会发生什么:

$("#edit-item-btn").live('click', function() {
    var name = this.id;
    $.getJSON("InfoRetrieve",
       { theName : name },
       function(data) {
           alert(data.name);
    });
});

如果InfoRetrieve以这样的JSON字符串响应,这应该有效:

{"name":"Sally Smith"}

有几点需要注意:

  1. 您正在向页面所在的目录发送./InfoRetrieve请求。如果您使用的是servlet,那实际上是否正确?或者你想要“/ servlet / InfoRequest”?
  2. 您将数据作为输入发送到InfoRetrieve,其密钥为“theName”,值为“this.id”。您的servlet是否知道如何接受此输入?
  3. 然后您正在从InfoRetrieve接收回复,并且“data”设置为表示响应中的json的对象。然后,您需要访问数据属性以获取响应中的值。