J'ai un gros problème dans jQuery.ajax
appel. J'appelle le service Web chaque fois que je clique sur le bouton de mise à jour. J'ai une classe de service Web distincte, dans laquelle se composent de quelques méthodes. Lorsque j'appelle la méthode de service Web, j'ai fait le traitement d'erreur et consigner l'information d'erreur dans la DB après que je dois substituer le "ex" qui signifie l'objet d'erreur à XMLHttpRequest
. Est-il possible d'affecter le SqlException
à l'objet ajax (xhr
) dans VB.NET
? S'il vous plaît aidez-moi c'est beaucoup plus utile pour moi.Obtenir xhr objet dans vb.net tandis que l'appel ajax échoue
Répondre
Oui, c'est possible! J'essaie de le décrire dans VB.NET (surtout j'utilise C#, mais j'espère que je ne ferai pas d'erreurs de syntaxe). Laissez-nous, nous avons un service Web
<WebMethod()> _
<ScriptMethodAttribute(ResponseFormat:=ResponseFormat.Json, UseHttpGet:=True)> _
Public Function GetData(ByVal Age As Integer) As String
If Age <= 0 Then
Throw(New ArgumentException("The parameter age must be positive."))
End If
'... some code
End Function
Le même code en C# ressembler
[WebMethod]
[ScriptMethod (UseHttpGet=true)]
public string GetData(int age)
{
if (age <= 0)
throw new ArgumentException("The parameter age must be positive.");
// some code
}
En cas d'entrée négative d'âge à l'exception ArgumentException
sera jeté (tout ce que je lui explique rester la même chose pour une autre exception comme SqlException
).
Maintenant vous avez un code JavaScript qui utilise jQuery.ajax
pour appeler le service. Ensuite, vous pouvez étendre le code pour soutenir la gestion des exceptions de la manière suivante:
$.ajax({
type: "GET",
url: "MyWebService.asmx/GetData",
data: {age: -5},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data, textStatus, xhr) {
// use the data
},
error: function(xhr, textStatus, ex) {
var response = xhr.responseText;
if (response.length > 11 && response.substr(0, 11) === '{"Message":' &&
response.charAt(response.length-1) === '}') {
var exInfo = JSON.parse(response);
var text = "Message=" + exInfo.Message + "\r\n" +
"Exception: " + exInfo.ExceptionType;
// + exInfo.StackTrace;
alert(text);
} else {
alert("error");
}
}
});
En cas d'exception être jetés, nous recevons des informations sur l'erreur au format JSON. Nous deserialize à l'objet ayant Message
, ExceptionType
et StackTrace
propriété et affiche un message d'erreur comme suit
Message: The parameter age must be positive.
Exception: System.ArgumentException
Dans une application réelle, vous probablement jamais affiché la valeur de la propriété StackTrace
. Les informations les plus importantes sont dans le Message
: le texte d'exception et dans ExceptionType
: le nom de l'exception (comme System.ArgumentException
ou System.Data.SqlClient.SqlException
).
- 1. jquery échoue tandis que la page se charge avec xmlhttprequest
- 2. Objet JSON XHR et fermetures
- 3. Non Stackoverflow: objet automatique à l'intérieur tandis que la boucle
- 4. propriétés jQuery objet de XHR dans callbacks de la fonction ajax
- 5. La requête jQuery AJAX échoue dans IE
- 6. Comment obtenir le code retour HTTP d'un objet XHR dans mootools
- 7. Jquery obtenir des données sur l'erreur XHR
- 8. Comment déterminer l'expéditeur de requête Ajax (XHR)?
- 9. Rails3 ajax callback a xhr vide
- 10. Débutant, tandis que les boucles
- 11. accident tandis que dans CALayer -hitTest:
- 12. Obtenir erreur X tandis que runing application GTK +
- 13. Rotation faire tandis que PHP
- 14. Rails: Rediriger dans XHR
- 15. Simuler une XHR requête GET
- 16. AutoIT: manquant Wend pour tandis que
- 17. Que signifie [String] dans VB.NET?
- 18. c tandis que l'entrée en boucle
- 19. L'appel ajax jQuery échoue avec une erreur indéfinie
- 20. ajax jQuery GET échoue
- 21. (Nouvel objet()). Méthode() dans VB.net
- 22. Passage de message d'extension Chrome, lorsque l'appel xhr échoue dans jQuery
- 23. FileUpload show message en attente tandis que PostBack est excecuting
- 24. Problème d'interception des requêtes AJAX (XHR) du script GreaseMonkey
- 25. Mise hors marginpar (marginparwidth), tandis que dans un environnement multicols
- 26. jQuery réponse Ajax échoue dans Firefox 3.5.7
- 27. L'appel ajax jquery échoue dans IE seulement
- 28. Ajout d'étiquettes aux données avec ddply tandis que
- 29. Le script Ajax ne renvoie que des résultats parfois?
- 30. xhr avec phonegap sur le blackberry
Pas de chance. Changer l'URL n'a pas changé l'erreur, et avec votre code d'erreur, je reçois juste une alerte qui dit "erreur". Mais merci! –
@Oren A: Le code dans ma réponse ici est simplifié pour afficher uniquement les détails de l'erreur en cas d'exception levée par le service Web. L'erreur que vous avez décrite dans http://stackoverflow.com/questions/3650561/calling-simple-web-service-asmx-file-from-ajax-and-jquery-using-json-parse-e a une tout autre nature. Vous avez textStatus = ** parseerror **. Donc vous devriez d'abord montrer 'xhr.responseText' avec' alert (xhr.responseText); ' – Oleg