0
votes

Remplacer des parties d'un objet JSON avec des valeurs d'entrée HTML

J'ai récemment testé beaucoup de syntaxe différente pour envoyer une demande de post Ajax, et le seul qui a effectivement travaillé était celui que j'ai obtenu de mes tests de facteur. Le seul problème que j'ai maintenant est que l'extrait de code Postman est "codé" et comprend une syntaxe de chaîne étrangère que je n'ai jamais vue auparavant. Je veux remplacer des parties de cette chaîne étrange avec des valeurs des entrées HTML. Toutes idées Comment je peux y parvenir?

J'ai deux entrées HTML simples: p> xxx pré>

et voici la partie que j'ai obtenue de Postman (JavaScript): P>

{  
"Username":"username123",
"Password":"password123"
}


0 commentaires

3 Réponses :


1
votes

Je suggère d'utiliser un formdata à Enveloppez les données que vous allez envoyer: xxx pré>

et ultérieure, vous appelez le message AJAX POST CODE> comme ceci: P>

var data = {};
data.Username = $("#username").val();
data.Password = $("#password").val();

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "...",
    "method": "POST",
    "headers": {
        "Content-Type": "application/json",
        "cache-control": "no-cache"
    },
    "processData": false,
    "data": JSON.stringify(data)
};

$.ajax(settings).done(function(response)
{
    console.log(response);
});


4 commentaires

@Beistbeistson J'ai ajouté une autre alternative et j'ai mis à jour le premier, juste au cas où.


J'ai essayé l'alternative aussi, maintenant je n'ai aucune erreur, mais j'attribue ne reçoive aucune réponse du tout, la page vous rafraîchit simplement comme si rien ne s'est passé. Le seul changement que j'ai fait par rapport au code de travail a été remplacé la chaîne étrange avec la nouvelle variable de données que vous avez configurée. Mais bon, aucun message d'erreur, ce qui signifie probablement la faute réside ailleurs?


Peut-être que vous pouvez essayer de configurer un Erreur et erreur sur les paramètres, comme documenté ici et enregistre les réponses dans les deux cas pour vérifier ce que vous obtenez.


Je suis désolé, je n'ai pas le temps d'essayer ce soir, la date limite à venir. Mais je suis à peu près sûr que j'ai eu du succès et des erreurs rappelements dans mon code (le même) hier, et rien n'a été enregistré, cela vient de rafraîchir la page comme maintenant. Plus tôt aujourd'hui, je suis tombé sur Alnitaks Répondre (celui-ci sous la solution) et j'ai décidé de ne pas aller pour réussir et rappel d'erreur: Stackoverflow.com/Questtions/14754619/...



1
votes

Je me demande comment placer mes variables dans la chaîne en utilisant valide Syntaxe xxx


5 commentaires

Cela a effectivement travaillé, si simple! Je suis tellement reconnaissant, merci beaucoup! :)


Mais bon, ça a fonctionné! Si vous me le permettez, j'aimerais poser une question de suivi à cette "solution". Si j'aimerais remplacer quelque chose à l'intérieur de l'en-tête de la variable (presque) de paramètres de même, comment ferais-je cela? J'ai essayé les paramètres. Serait-ce la bonne voie / la syntaxe? En ce moment, je reçois "indéfini" en conséquence, mais cela peut être parce que j'ai fait quelque chose de mal ailleurs dans le script. @ 0xNOOB


Selon votre exemple de la variable Paramètres , l'autorisation n'est pas définie dans l'objet Headers, donc vous ne pouvez donc pas le remplacer. Il suffit de faire paramètres.adores.authorize = NEWVARIABLE; , mais gardez également à l'esprit que c'est vraiment hacky. @Beistbeistson


Ceci est pour une nouvelle fonction, je vais obtenir cette heure et j'ai besoin de l'en-tête d'autorisation contenant le jeton que j'ai reçu de la demande postale que nous venons de le faire. Il est défini dans cette nouvelle fonction. Cela ne me dérange pas que cela soit vraiment hacky en ce moment, j'en ai juste besoin de travailler pour que je puisse passer à la prochaine étape de mon projet. Je peux revenir en arrière et essayer une autre solution lorsque je n'ai pas de date limite à venir :) @ 0xnoob


@ 0xnoob je l'ai eu du travail. J'ai eu la bonne syntaxe, mais ma nouvelle fonction a couru avant d'avoir fini de recevoir le jeton. Donc, après avoir défini un petit délai d'attente sur la nouvelle fonction, cela fonctionne :)



1
votes

Pour formater les données sous forme de JSON et la capacité de pouvoir utiliser ses propriétés à des fins différentes:

p>

<input type="password" id="password" name="password" placeholder="Password" value="newPassword"/>


0 commentaires