版本3.5.1

hk8txs48  于 2021-07-23  发布在  Java
关注(0)|答案(1)|浏览(360)

ajaxcall函数在onchange select事件中返回404。我有一个应用程序spring boot+bootstrap+thymleaf+jquery3.5.1。
url参数是内部spring boot@requestemapping。
错误:

jquery-3.5.1.min.js:2 GET http://10.21.18.128:8080/carregaComboAtivoCadastraCampo?uoId=06ec619f-6ed6-469a-8318-9722da71bda0 404
send @ jquery-3.5.1.min.js:2
ajax @ jquery-3.5.1.min.js:2
carregaComboAtivoAjax @ funcoes.js:3
onchange @ cadCadastraCampo:42
ListPicker._handleMouseUp

jquery函数:
url函数参数为/carregacombomativocadastracampo?uoid=06ec619f-6ed6-469a-8318-9722da71bda0;

function carregaComboAtivoAjax(url) {
    var uoId = document.getElementById('idUo').value;
    $.ajax({
        url: url,
        dataType: 'html',
        data: { uoId: uoId },
        success: function(data) {
            if (data != null) {
                $("body").html(data);
            }
        }
    });
}

Spring启动-控制器:

@RequestMapping(value = "/carregaComboAtivoCadastraCampo", method = RequestMethod.GET)
public String carregaComboAtivo(@RequestParam UUID uoId,  Model model) {
   ...
}
axzmvihb

axzmvihb1#

我自己解决了问题。我忘了配置媒体类型和响应主体。
解决方案是将标记@responsebody放在@requestmapping之后,并将@requestmapping复杂化。
控制器代码:
@requestmapping(value=“/carregacombomativocadastracampo”,method=requestmethod.get,products={mediatype.text\html\u value})@responsebody public modelandview carregacombomativo(@requestparam uuid uoid,model model){…}

相关问题