JQuery onBlur脚本仍然没有与方法交互

时间:2011-05-10 09:34:16

标签: jquery

看起来我没有让我的Spring方法与Jquery脚本一起工作。这是方法

  @RequestMapping(value="vsfill.html", params = "accountId", method = RequestMethod.GET)
public @ResponseBody String getAccount(@RequestParam("accountId") String accountId) throws JSONException {
    logger.debug("getAccount() accountId "+accountId);

    String json = null;
    String _json = null;

            User user = idmClient.getUser(accountId);

                HashMap hm = new HashMap();
                hm.put("accoountId", user.getAccountId());
                //hm.put("givenName", user.getGivenName());
                hm.put("callingName", user.getCallingName());
                hm.put("email", user.getEmail());
                json = JsonUtils.javaToStr(hm);


    return json;
}

}

脚本

      $("#person").blur(function() {
  var accountId =$('#person').val();
  $.ajax({
  type: 'GET',
  url: 'vsfill.html?accountId='+accountId,
  dataType: 'json',
  data: (accountId),
  success: function(data) {


      if (data!=null&&data!='') {
            $('#responsableName').val(data.callingName);
            $('#resposableMail').val(data.Mail);
        }
      }});
   });

我是新手。

2 个答案:

答案 0 :(得分:0)

替换

url: 'vsfill.html?accountId='+accountId,
dataType: 'json',
data: (accountId),

url: 'vsfill.html',
dataType: 'json',
data: {accountId: accountId},

答案 1 :(得分:0)

  1. .val()无法使用 标签......他们使用输入 仅元素。所以我认为 $('#responsableName').val(data.callingName); 是错的。

    你应该尝试: $('#responsableName').text(data.callingName);

    源: [http://api.jquery.com/text/] [1]

    [1]:http://api.jquery.com/text/


    1. 您的数据不会发送到服务器 因为它没有成功 任何名字。它必须有一个像这样的名字 “人=鲍勃”。要发送这种方式,你 必须将您的数据发送至:{ 密钥:值jquery中的格式。所以 改变数据部分=>数据:{ accountID:accountID}

    2. 编辑:尝试以下代码:

      $("#person").blur(function() {
          var accountId =$('#person').val();
          $.ajax({
            type: 'GET',
            url: 'vsfill.html',
            dataType: 'json',
            data: {accountId:accountId},
      
            success: function(data) 
            {    
                if (data!=null && data!='') 
                {
                      $('#responsableName').text(data.callingName);
                      $('#resposableMail').text(data.email);
                }
            }
         });   
      });
      

      最有可能存在一些语法错误(例如额外的大括号),但代码不起作用。