e qual é a estrutura desse object? esse for que vc postou só serve se ele for um array… se for um:
{ "errors" : [ { "message": ".....", .... } ] }
vc tem que iterar em responseText.errors
e qual é a estrutura desse object? esse for que vc postou só serve se ele for um array… se for um:
{ "errors" : [ { "message": ".....", .... } ] }
vc tem que iterar em responseText.errors
console.log(responseText);
console.log(responseText.errors);
//---------------------
responseText:"{\"errors\": [{\"message\": \"Nome de rede existente\",\"category\": \"existentError\"}]}", status:400, statusText:"Bad Request"})
undefined
undefined
E ai ?
ele tá vindo como string então… vc tem que mudar o dataType da requisição ajax pra “json”, ou fazer um:
var json = JSON.parse(responseText);
var errors = json.errors;
// só imprimir esses errors.
var formOptions = {
beforeSubmit: validate,
success: showSuccess,
dataType: "json",
error: showError
};
Já esta json …
Tentei sem e utilizando esse JSON.parse e ocorre um erro “JSON. parser unexpected charcter”
aqueles console.log estão em qual função? na showSuccess? na showError? na validate?
showError
se o dataType tá como json, o responseText deveria ser o JSON já parseado… não uma string…
tem algo bem estranho acontecendo…
só pra ficar na mesma página, tenta fazer assim:
var formOptions = {
beforeSubmit: validate,
success: showSuccess,
dataType: "json",
error: function(json) {
console.log(json);
console.log(json.errors);
console.log(json.errors[0].message);
}
};
e veja o que aparece
Resolvi aqui.
Parece que apesar de JSON estar definido lá ele vem em string.
Daí fiz isso.
function showError(response, status, err){
var resposta = $.parseJSON(response.responseText);
$.each(resposta.errors, function(i, erro) {
alert(this.message);
});
}
Agora ta certo.
Vlw cara ! Muito obrigado ai ! … Aprendi até mais do que precisava.
Abraços !