简体   繁体   中英

500 Internal Server Error when calling ajax

I am using spring mvc and apachitile.page redirecs by "AddUpdateCustomer" action.I want to pass a list from controller to the view when redirecting to the page(on load)using ajax.I wrote a code but gets error.don't know whether my url reference is correct or not.getting Error alert.

controller :

@RequestMapping("/AddUpdateCustomer")
public String redirectCustomer(Map<String, Object> map) {
    //map.put("customerList", customerService.listCustomer());
    return "AddUpdateCustomer";
}

@RequestMapping("/ListCustomer")    
@ResponseBody
public List<Customer> ListCustomer() {
    return customerService.listCustomer();
}
function LoadDataToThegrid() {
    $.ajax({
        type: "POST",
        url: "ListCustomer.html",
        data: {}, 
        success: function(data){
            alert(data);
        },
        error: function(jqXHR, textStatus, errorThrown){
            //alert('Error: ' +xhr.responseText);
            alert('Error: ' + jqXHR.responseText);
        }
    });
}

web xml:

<display-name>Spring3-Hibernate</display-name>
    <welcome-file-list>
        <welcome-file>redirect.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

spring-servlet.xml :

<context:annotation-config />
    <context:component-scan base-package="net.opticare" />


    <bean id="viewResolver" 
        class="org.springframework.web.servlet.view.UrlBasedViewResolver">  
        <property name="viewClass">  
            <value>  
                org.springframework.web.servlet.view.tiles2.TilesView  
            </value>  
        </property>  
    </bean>  
    <bean id="tilesConfigurer" 
        class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">  
        <property name="definitions">  
            <list>  
                <value>/WEB-INF/tiles.xml</value>  
            </list>  
        </property>  
    </bean>  

    <bean id="messageSource" 
        class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basename" value="classpath:messages" />
        <property name="defaultEncoding" value="UTF-8" />
    </bean>

    <bean id="propertyConfigurer"             
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" p:location="/WEB-INF/jdbc.properties" />

    <bean id="dataSource" 
        class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" 
        p:driverClassName="${jdbc.driverClassName}"
        p:url="${jdbc.databaseurl}" p:username="${jdbc.username}"
        p:password="${jdbc.password}" />


    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation">
            <value>classpath:hibernate.cfg.xml</value>
        </property>

        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${jdbc.dialect}</prop>
                <prop key="hibernate.show_sql">true</prop>
            </props>
        </property>
    </bean>
    <mvc:resources mapping="/resources/**" location="/resources/"  />
    <mvc:annotation-driven />
    <tx:annotation-driven />

    <bean id="transactionManager"
        class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

error on firebug console :

500 Internal Server Error - http://localhost/Spring3HibernateMaven/ListCustomer.html

First quick look tells me you should remove the .html part in the url-property of the jquery ajax call. With .html the

@RequestMapping("/ListCustomer")    
@ResponseBody
public List<Customer> ListCustomer() {

controller method never gets called.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM