【发布时间】:2012-05-22 18:35:05
【问题描述】:
我正在尝试使用远程方法,或者添加一个模仿远程方法的方法,以便能够将输入的数据发送到 Web 服务并返回带有错误状态和错误消息的 json 响应。
所以我有这个 json 响应:
{
"isError": "true",
"errorMessage": "The User Name you chose is already in use. Please enter another name."
}
我已经使用远程方法来获得真/假响应,但没有额外的数据。
任何帮助将不胜感激。
编辑
试过了,当然没用,因为变量不是全局变量……
$.validator.addMethod("uniqueUserName", function(value, element) {
$.ajax({
type: "POST",
url: "js/username.json",
contentType: "application/json; charset=utf-8",
dataType:"json",
data: "{'" + $('#enterEmail').attr('id') + "': '" + $('#enterEmail').val() + "'}",
dataFilter: function(data) {
var isError = data.isError;
var uniqueError = data.errorMessage;
if(isError == "true"){
return false;
}
}
})
}, uniqueError); //this last line would typically be: }, "my error message");
【问题讨论】:
-
您希望在 JSON 响应中返回额外数据吗?我认为这必须在服务器端/网络服务端完成,除非您想将“真/假”映射到成功/错误处理程序中的其他变量。不知道我明白你的意思。
-
@frequent - 是的,我编辑了
addMethod函数的最后一行,以显示错误消息通常出现的位置 - 一个文本字符串。但是我想在那里传递errorMessage的json值。 -
好的。那么您是在第一个 sn-p 中返回 JSON 响应,还是在 JSON 返回 false 时显示错误消息?另请参阅下面的编辑
-
这是一个模型,实际的 url 将指向一个返回 json 响应的 Web 服务。我希望以相同的方式(结合)jquery validate 处理错误消息。我可以通过与插件相同的方式将其写入 DOM 来模拟它,但我宁愿集成。
-
你能修改来自服务器的响应吗?如果你只返回一个字符串,jQuery Validate 会假定它是错误消息,所以实际上不需要返回错误消息和表示验证成功或失败的布尔值
标签: jquery json jquery-validate