我在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
我怎样才能让它只执行一次?
答案 0 :(得分:1)
您可能正在使用JSON插件并且它正在调用所有以“get”开头的方法,以尝试将它们序列化以用于输出。尝试重命名您的方法名称
答案 1 :(得分:0)
确保您只注册一次“更改”事件。双ajax调用的原因可能是您在代码中添加了两次更改侦听器。看看here。