首页 > 解决方案 > .$ajax 在 SpringBoot SELECT 中不起作用。可以得到任何解决方案吗?

问题描述

我需要一些帮助。我已经搜索了数周的解决方案,但我无法获得解决方案。我和其他解决方案一样,但它们不起作用。

我正在向您发送我正在做的事情的示例,因为我试图在更复杂的任务之前先做简单的事情。

我正在尝试将信息发布到 Spring 控制器并进行回复。

前两个警报正常,但没有来自 $ajax 的回复。

请帮忙!

的HTML:

<div class="col-2">
                    <label for="provinciaFormador">Provincia</label>
                        <select th:field="*{provincia.idProvincia}" class="form-control" id="provinciaFormador">
                            <option th:each="provincia:${provincias}"
                                th:text="${provincia.nombreProvincia}"
                                th:value="${provincia.idProvincia}">
                            </option>
                    </select>
                    </div>
                    
                        <!-- Script -->
                    
                    <script type="text/javascript"> 
                    $("#provinciaFormador").change(
                        function cargaLocal() {
                          var idProvincia = document.getElementById("provinciaFormador").value;
                          alert(idProvincia);
                          alert("prueba");
                          var nombreProvincia = {}
                          nombreProvincia ["nombreProvincia"] = "prueba";
                            
                            $.ajax({
                                type : "POST",
                                contentType : "application/json",
                                url : "/cargaLocal",
                                data : JSON.stringify(nombreProvincia),
                                dataType : "json",
                                success : function(data) {
                                    alert("2");
                                    }                
                                });
                            });

如您所见,这只是一个示例。所有结果都不是真实的,但我无法得到它们。

控制器:

@RequestMapping(value = "/cargaLocal", method = RequestMethod.POST, produces = "application/json")
public @ResponseBody String provincia (@RequestBody ProvinciaEscogida provinciaEscogida) {
    System.out.println(provinciaEscogida.getNombreProvincia());
    return "prueba";
}

助手 java .class:

public class ProvinciaEscogida {
        
        private String nombreProvincia;
    
        //Getters y setters
}

标签: jqueryspring-bootselect

解决方案


nombreProvincia ["nombre_rovincia"] = "prueba";

确保您没有 args 构造函数,而不仅仅是 setter/getter

public class ProvinciaEscogida {
    public ProvinciaEscogida() {}
}

推荐阅读