我试图将请求和ajax发布请求发送到我的springboot mvc控制器,但是没有成功。我看过许多类似的主题,尝试了给定的解决方案,但都没有成功。 如果我将请求类型更改为GET,它将触发控制器端点。
甚至没有在控制器中触发端点功能。它仅在浏览器控制台中显示以下错误: jquery-3.4.1.js:9837 POST http:// localhost:8080 / rede-credenciada 500
我与邮递员提出了相同的请求,并且出现以下错误:
{
"timestamp": "2020-07-09T17:46:20.920+0000",
"status": 999,
"error": "None",
"message": "No message available"
}
注意:它仅在POST请求中发生,如果我更改为GET,则可以正常工作。该请求已由控制器“侦听”。
这是我的ajax请求:
const json = {
idGrupoProcedimento: 0,
idTipoEspecialidade: $("#especialidade").val(),
uf: $("#estado").val(),
codCidade: $("#cidade").val()
}
const jsonString = JSON.stringify(json);
$.ajax({
url: "/rede-credenciada",
type: 'POST',
contentType: "application/json",
dataType: "application/json",
data: jsonString,
success: function(data){
console.log(data);
},
error: function(e) {
console.log(e.message);
}
});
在这里,我的终点:
@RequestMapping(value = "/rede-credenciada", method = RequestMethod.POST, consumes = "application/json")
@ResponseBody
public RedeCredenciadaResponse buscaRedeCredenciadaPorFiltro(@RequestBody RedeCredenciadaRequest request) {
... some logic
RedeCredenciadaResponse redeCredenciada = new RedeCredenciadaResponse();
redeCredenciada.setPessoasFisicas(pessoas);
redeCredenciada.setEmpresas(empresas);
return redeCredenciada;
}
这是我的包装器类:
public class RedeCredenciadaRequest {
private int idGrupoProcedimento;
private int idTipoEspecialidade;
private String uf;
private String codCidade;
public int getIdGrupoProcedimento() {
return idGrupoProcedimento;
}
public void setIdGrupoProcedimento(int idGrupoProcedimento) {
this.idGrupoProcedimento = idGrupoProcedimento;
}
public int getIdTipoEspecialidade() {
return idTipoEspecialidade;
}
public void setIdTipoEspecialidade(int idTipoEspecialidade) {
this.idTipoEspecialidade = idTipoEspecialidade;
}
public String getUf() {
return uf;
}
public void setUf(String uf) {
this.uf = uf;
}
public String getCodCidade() {
return codCidade;
}
public void setCodCidade(String cidade) {
this.codCidade = cidade;
}
答案 0 :(得分:0)
在ajax请求中,您使用的是 <Frame
CornerRadius="100"
HeightRequest="200"
WidthRequest="200"
HasShadow="False"
HorizontalOptions="Center"
Padding="0"
IsClippedToBounds="True">
<Image Source="logo"
HorizontalOptions="Center"
VerticalOptions="Center" />
</Frame>
,根据jQuery’s Ajax-Related Methods的描述
dataType:'application/json'
// The type of data we expect back
dataType : "json",
的值应为 json 或 xml 或 html 等。