Ajax
致电成功。我看到了JSON
回复。但是当消息返回fieldValidated
时,有些方法{@ 1}}没有被调用。
在后面使用success
Spring
回复JSON
'{ "valid" : "false", "message" : "Some message" }'
CONSOLE.LOG
function thisMethodIsCalledOnCursorOutFromInputField() {
$.ajax({
url: '${pageContext. request. contextPath}/X.htm',
data: {
someId: $('#someId').val()
},
contentType: "*/*",
dataType: "json", //Have also tried with "text"
success: function (data) {
console.log('response=', data);
fieldValidated("someId", data);
},
error: function (data) {
console.log('response=', data);
fieldValidated("emailId",data);
}
});
}
答案 0 :(得分:2)
错误消息表明来自服务器的响应不是有效的JSON。如果答案是字面意思
'{ "valid" : "false", "message" : "Some message" }'
然后您需要删除单引号,因为他们没有必要向JavaScript表明它是一个字符串并且不是有效的JSON(字符串包含在双引号中) )。
答案 1 :(得分:1)
您在控制台中看到的错误表明,jquery期待mime类型JSON。
您需要将内容类型设置为application/json
This帖子解释了它。
另一方面,您的JSON输出也必须有效,
您可以使用JSONlint检查JSON输出的有效性。您也可以从本地http服务器下载并运行它
答案 2 :(得分:0)
如果您的JSON调用返回与您类似的数组,则必须专门调用所需内容。
fieldValidated(“someId”,data.message);
这可能是你的问题。