日期:2014-05-18  浏览次数:20758 次

struts+ajax问题

@Override
public class ShopAction extends ActionSupport {
public String execute(){
try {
shopService.addShop(shop);
return result = SUCCESS;
} catch (Exception e) {
// TODO: handle exception
System.out.println(e.toString());
}
return result = SUCCESS;
}

public String showShop() throws Exception{
shop = shopService.getShopDAO().findById(shopId);

return SUCCESS;
}

public String getShopList(){
if (page == null) {
System.out.println("page is null!!!!!!");
return ERROR;
}
if(shop == null){
System.out.println("shop is null");
}
page = shopService.getShopDAO().getShopListByTags(shop.getType(), shop.getArea(), page);
return SUCCESS;
}
}


struts.xml

<package name="ajax" namespace="/" extends="json-default">
<interceptors>
<interceptor-stack name="myJson">
<interceptor-ref name="json"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myJson"/>
<action name="addShop" class="ShopAction">
<result type="json"></result>
</action>
</package>



$(document).ready(function(){
$('#submit').click(function(){
var params = {
'shop':{
'name':'噶',
'address':'haha',
'area':'haha',
'type':'haha',
'briIntro':'ahha',
'phone':'027-12345678'
}
};
params = JSON.stringify(params);
submit(params);
});
});

function submit(params){
$.ajax({
type:"post",
dataType:"text",
data:params,
url:"addShop.action",
contentType:"application/json",
success:function(json){
alert(json);
var obj = $.parseJSON(json);
var result = obj.result;
alert(result);
},
error:function(){
alert("error");
}
});
}


js提交ajax请求到后台之后
控制台输出这样的结果:
page is null!!!!!!

很明显服务端在执行execute()之后又执行了getShopList()
为什么会这样?怎么样才能让他不执行getShopList()
Ajax Struts