【问题标题】:$.getJSON With Spring Not Executing Callback$.getJSON 与 Spring 不执行回调
【发布时间】:2012-09-01 17:36:04
【问题描述】:

我已经环顾了一段时间,看到了许多类似的问题,但没有任何帮助。我有一个 getJSON 调用,它调用我的 Spring 控制器并以 JSON 文本进行响应(已验证确实返回了 JSON 文本),但从未执行回调(基于回调函数中没有执行任何操作,并且我没有收到错误的错误JavaScript)。

在我的jsp文件中:

function getUserText(str)
{
    $.getJSON("selectUser.htm", { id: str }, function(user)
    {
        //Doesn't matter what's here
    });
}

在我的控制器中:

@RequestMapping(value="/selectUser.htm")
public @ResponseBody String SelectUser(@RequestParam String id)
{
    Users user = userMap.get(id);

    if (user == null)
        return null;

    return createUserJSON(user);
}

【问题讨论】:

  • 您是否检查过调用并查看实际返回的内容?
  • 正如我所说,是的,它确实返回了 JSON。

标签: javascript ajax json spring


【解决方案1】:

对此我不确定,但我猜你提供的函数是 ajax 返回时调用的成功函数。有可能是请求没有成功返回。

【讨论】:

  • 这似乎不像是一个评论的答案
  • 好吧,控制器正在返回响应。除非它应该做更多的事情。
【解决方案2】:

表示 JSON 无效。可能是内容无效或内容类型设置不正确......

$.getJSON has no error callback

http://api.jquery.com/jQuery.getJSON/

看看你需要使用什么问题

$.ajax({
  url: "myurl",
  type: "GET",
  dataType: "json",
  success: function() {
    //called when successful
  },
  error: function(e) {
    //called when there is an error
  },
});

【讨论】:

    【解决方案3】:

    找到了答案。结果证明 JSON 必须是有效的。我犯了一个错误,所以 JSON 格式不正确。我什至在回调函数之前都不知道格式是否重要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-22
      • 2015-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      • 2010-12-06
      相关资源
      最近更新 更多