Je crée un post ajax jQuery dans une fonction javascript utilisée par un contrôle asp:CustomValidator
. La méthode web renvoie un booléen. Comment puis-je convertir le résultat pour que le script de validation fonctionne correctement.Comment traiter les résultats d'un post jQuery ajax
code côté client
<script language="javascript" type="text/javascript">
function ValidateInput(source, args) {
if($('#MyTxtBox').val().length > 0) {
var result;
var webMethod = 'http://domain/webservice.asmx/ValidateInput';
var parameters = "{'input':'" + $('#MyTxtBox').val() + "'}";
$.ajax({
type: "POST",
url: webMethod,
data: parameters,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
args.IsValid = msg.d;
}
});
}
else {
args.IsValid = false;
}
}
</script>
<asp:TextBox ID="MyTxtBox" runat="server" />
<asp:CustomValidator ID="cvCreditCardNumber" runat="server" ClientValidationFunction="ValidateCCNumber" Display="Dynamic"
ErrorMessage=" Please enter valid input." />
code de service Web
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public bool ValidateInput(string input)
{
if(input.Equal("jQuery is awesome!"))
return true;
else
return false;
}
Je pense que vous devez écrire le résultat dans votre webservice, et ne pas utiliser ** return ** comme dans les fonctions normales. – Steven
@Steven - Comment pourrais-je accomplir cela? –