Avoir des difficultés à faire accepter mon poste de jQuery par le service WCF. Voici le message de JavaScript:
public void LoggingTest(string message) { log.Debug(message, null); }
3 Réponses :
Essayez d'ajouter une ligne suivante sur le contrat de service, je pense également que vous devriez utiliser WremplaFeQuest inséduit de NARE
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
J'ai essayé d'autoriser l'aspnetcompatibleRequirementsMode de la mise en œuvre (vous ne pouvez pas l'ajouter à une interface). Et je suis passé entre des demandes nues et enveloppées. Bien que j'ai vu en ligne où cela aide beaucoup d'autres personnes ... Malheureusement, pas de chance avec ça.
Quelle configuration que vous utilisez, pouvez-vous s'il vous plaît coller la configuration ici? Avez-vous vérifié la poste que j'ai donnée pour référence?
Je n'utilise pas IIS donc il n'y a pas de .config
Donc, je viens de finir par faire cela, interface: implémentation: p> et maintenant ça marche. Doit avoir quelque chose à voir avec les paramètres étant passés dans l'uritemplate, car lorsque je l'ai changé pour transmettre les paramètres comme: P> Il a commencé à accepter le poste. P > EDIT 7/7: Voici le dernier JavaScript également: P> jqueryPost('LoggingTest/LogID/debug?errorCode=0', { message: 'this is a test message'} ;
function jqueryPost(url, message) {
$.post(url, message);
}
Je me demande, pourriez-vous publier votre final JavaScript afin que nous puissions voir la fin à la fin de votre solution.
Je vais le poster lorsque je reviendrai au bureau mardi, merci pour l'intérêt bien que Mark.
Est-ce une façon de passer une valeur de chaîne sans l'urument, dans le corps de poste?
Ce n'est pas une bonne solution. Qui défait le but de la poste. Pourrait aussi bien utiliser get. Quelqu'un sait de meilleure solution? Je ne veux pas de paramètres de requête
Ce n'est peut-être qu'une partie du puzzle de le faire fonctionner pour vous, mais cela m'a attrapé pendant un jour:
Vous devrez peut-être vérifier votre syntaxe JSON, je pense qu'il doit être auquel il doit être auquel Nom variable et variable. P>
E.g. P>
function jqueryPost() { var url = "/LoggingTest"; $.post(url, { "message": "test message" }); }
-1: Cet objet n'est pas "JSON", c'est juste un autre objet JavaScript. JS est plus clément sur les quotes-ci et les devis doubles ne sont pas nécessaires.
Bonjour @Matti Virkkunen, je vois où vient de ...... Je suis d'accord, JavaScript est plus "lenatif", mais JSON, le format de données-interchange (c'est-à-dire que JavaScript) est plus strict. www.json.org suggère l'utilisation de citations doubles. Mais pour être honnête, je ne peux pas trouver un bon lien vers le projet de travail ECMAScript 5 pour des informations faisant autorité, mais développeur.yahoo .Com / Yui / Json (à propos du format JSON) est assez autoritaire. N'oubliez pas que la syntaxe JSON n'est pas JavaScript par exemple (rappelez-vous que JSON peut être utilisé avec JavaScript) Il est simplement un format basé sur / inspiré d'un sous-ensemble de JavacRip.
@ Matti Virkkunen ayant déclaré tout ce qui précède, c'est vrai que vous pouvez probablement vous échapper sans utiliser de guillemets doubles pour des paires de valeurs / de cordes. Les exemples de la documentation de jquery.post ne les ont pas. Et en fait, la documentation JQuery.post n'excit même pas que vous devez utiliser JSON. Mais de toute façon, je ne pense pas que cela mérite A -1, d'autant plus que le C # sur le côté serveur nécessite les citations doubles. Stackoverflow.com/questions/4939620/... Si j'ai aidé à clarifier des choses, n'hésitez pas à générer votre -1, sinon aucun inquiétude.
Est tombé sur ceci, développeur.mozilla.org/fr/javascript/reference/global_Objects / ... et m'a fait me souvenir de ce post, c'est l'une des meilleures descriptions de JSON que j'ai rencontrées.
Le point de mon commentaire était que votre extrait de code a rien à voir avec Json Que ce soit I>. L'objet Il y a juste de passer des paires de clés de chaîne / de la valeur à JQuery comme un objet JavaScript ordinaire, qui leur enverra des champs de poste séparés, pas JSON. Réclamer les règles d'analyse plus strictes de JSON a toute pertinence ici n'est pas fausse. Pour le rendre encore plus clair: cela ne va pas envoyer "{\" message \ ": \" test de test \ "}" sur le serveur, il va envoyer "Message = Test% 20Message".
Ah, je vois! Désolé, j'ai complètement désigné votre commentaire initial. Je pensais que vous avez commenté les objets JavaScript vs Json et Doubles citations. Très bon point (sur le regardant avec de nouveaux yeux) sur mon exemple de déchets, vous avez raison, je n'utilise même pas JSON! Ha ha!
Doubles citations dans les attributs JSON ont fait une différence dans mon projet.
Pouvez-vous utiliser Fiddler (ou quelque chose d'Equiv) et poster la demande / réponse complète? Je me demande si cela affiche une URL incorrecte (dépend de si vous déployez à la racine, par exemple)
James, j'ai posté la sortie de l'inspecteur Web ci-dessus.