jQuery Validator를 사용하여 원하는 사용자 이름이 이미 사용 된 경우 사용자가 가입 할 때 서버를 확인하고 싶습니다. PHP 스크립트 untaken.php
이이 작업을 수행하며 사용자 이름이 사용 가능한 경우 ok
을 반환하고, 사용 가능한 경우 taken
을 반환합니다.jQuery.ajax 성공 함수에서 값을 반환 할 수 없습니다.
내 전체 소스는 그러나 문제의 라인이, 아래입니다 :
return data != "taken";
현재 메시지를 영구적으로 나타납니다 "이미 사용중인 이름". 내가로 변경 그러나 경우 : 텍스트 상자에
console.log(data != "taken");
입력 내가 그들을 기대할 때 콘솔에 true
및 false
메시지를 정확히를 참조하십시오. 그것이 디자인 자체가 비난 받아서는 안된다는 것을 의미합니다. jQuery.ajax의 success
절에서 아무것도 반환 할 수 없다는 것입니다.
$.validator.addMethod("userCannotBeTaken", function(value, element){
var check;
check = $.ajax({
type: "GET",
url: "untaken.php",
data: ({ "user" : value }),
dataType: "text",
success: function(data){
return data != "taken"; //return false if taken or true if not, based on response
}
});
}, "Username already taken");
jQuery.ajax
에서 어떻게하면 되나요?
이 올바른지 (내 경우
newuser
에서)이 검증 된 필드의name
(즉, URL의 PARAMATERS합니다.) : ** 데이터 : ({ "사용자"값 }) ** 이것은 다음과 같아야한다고 생각합니다 : data : { "user": value}, – Jai@Jai는 둘 다 내가 볼 수있는 것에서 작동합니다.너의 것을 사용 하겠지만, 아마도 더 정확 할 것이다 :) – stackunderflow