Я пытаюсь создать приложение, используя jQuery Ajax и Spring WebFlow. Я могу отправить значение контроллеру, но не получаю всю страницу в качестве ответа вместо конкретного <script>
Вызов Ajax с помощью jquery
$.ajax({
type:"POST",
data:country,
url:$("#welcomeForm").attr("action")+"&_eventId_country&ajaxSource_country"+"&countryName="+country,
success:function(states){
console.log(states);
}
});
Flow.xml:
<?xml version="1.0" encoding="UTF-8"?>
<flow xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/webflow" xsi:schemaLocation="http://www.springframework.org/schema/webflow http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd">
<var class="com.model.Welcome" name="welcome"/>
<on-start>
<evaluate expression="springWebFlow.countryList()" result="flowScope.countries"/>
</on-start>
<view-state id="welcome" model="welcome" redirect="false" view="/WEB-INF/views/welcome.jsp">
<transition on="country" bind="false">
<evaluate expression="springWebFlow.stateList(flowRequestContext)" result="flowScope.states" result-type=""/>
</transition>
<transition on="welcome" to="actionState1"/>
</view-state>
<end-state commit="false" id="actionState1" view="/WEB-INF/views/myDetails.jsp"/>
</flow>
Контроллер:
public @ResponseBody List<State> stateList(RequestControlContext context) throws Exception {
List<State> states= new ArrayList<State>() ;
State stateName= new State();
String countryName= context.getRequestParameters().get("countryName");
if(countryName.equals("India")){
stateName.setStateName("Delhi");
states.add(stateName);
}
return states;
}
Я не хочу использовать Spring JavaScript и не использовать Tiles. Я могу отправить запрос контроллеру, но не могу получить ответ (получив всю страницу) или показать ответ на странице.
stateS
, какая-то переменная класса? Для чего нуженstates
как в коде JavaScript, так и в коде Java? На контроллере он нигде не сохраняется, а в вызове AJAX вы предупреждаете переменную, не определенную в функции. - person t0mppa   schedule 26.01.2014