JQuery Ajax方法调用了两次

时间:2012-08-28 07:30:23

标签: jquery ajax struts2

我在jsp中调用了struts2动作。但它称之为两次。为什么呢?

JSP

    $("#inputField").change(function()
    {
        var inputField= $("#inputField").val();
        if(inputField !== '')
        {
            var url = 'myUrl';
            $.getJSON(url, function(retVal)
            {
                $.each(retVal.retList, function(index, element)
                {
                    console.log(element.name);
                });  
            });
        }
    });

Struts2 Action

public String getJSON() throws Exception
{
     System.out.println("Method Executed");
}

当这个ajax调用返回时,我得到了这个

Method Executed
Method Executed

我怎样才能让它只执行一次?

2 个答案:

答案 0 :(得分:1)

您可能正在使用JSON插件并且它正在调用所有以“get”开头的方法,以尝试将它们序列化以用于输出。尝试重命名您的方法名称

答案 1 :(得分:0)

确保您只注册一次“更改”事件。双ajax调用的原因可能是您在代码中添加了两次更改侦听器。看看here