0
votes

Remplacer "" avec% 20 à l'intérieur d'un fetchcall

Je sais que la question sur comment remplacer "" (espace) avec% 20 strong> est déjà demandé de sorte que je dois savoir où je peux la mettre en œuvre - j'utilise réagit Natif em> comme mon frontend et nœudjs (expressjs) em> comme mon backend connecté à un postgreSQL dB em>.

est-il possible d'utiliser bodyparser urlencoded pour y parvenir? J'en ai juste besoin à l'intérieur de 1 ou 2 requêtes pour tous. p>

ma partie frontale: (appelez ceci sur le composantDidMount) p> xxx pré>

ma partie du backend: p>

router.get("/unlock/:username", (req,res) => {
  const username = req.params.username
  Hours.unlockUser(username, (err, result) => {
    if(err) {
      return res.json(err)
    }
    return res.json(result)
  })
})

router.delete("/lock/:username" , (req, res) => {
  const username = req.params.username
  Hours.lockUser(username, (err, result) => {
    if(err) {
      return res.json(err)
    }
    return res.json(result)
  })
})


9 commentaires

Quelque chose a mal tourné lorsque vous déverrouillez mon nom d'utilisateur, pourriez-vous vérifier cela s'il vous plaît. Ici, mes données: Var USERName = "'; Sélectionnez * à partir de pg_catalog.pg_tables où' 1 '=' 1"


Je ne comprends pas vraiment ce que tu veux dire mais ça marche de toute façon maintenant.


Ne faites pas confiance à de petits tables de Bobby! xkcd.com/327


: D: D Right, je reçois ce que vous dites - si je considère pour sécuriser mon application, j'ai besoin de désinfecter à l'intérieur du postgredb ou de mon application (frontend ou backend) - TY


Non non frontend, c'est juste quelque chose que votre backend peut faire. Votre meilleure option sera d'utiliser des déclarations préparées.


Ok quel genre de déclarations voulez-vous dire? Est-ce que je fais aussi cela dans mon serveur nœud / express ou dans la DB aussi? __-- Il vient de trouver un paquet NPM désinfectant pour la désinfection pourrait y regarder s'il est bon


La plupart du temps, votre dB a une sorte de fonction comme exécutesql (sql: chaîne, parames?: []) que vous pouvez appeler. E.g Exécuteql ("Insert dans les valeurs d'utilisateur (nom d'utilisateur) (?)" ", [" Nom d'utilisateur "]); qui gère la désinfecture pour vous.


@ kevinspaceyiskeysersöze YH Quand j'insérerai j'ai: valeurs 1 $, 2 $, 3 $, ..., [Entrée, ActivityDate, UserID ...] quelque chose comme ça


Oui semble à peu près bien!


3 Réponses :


1
votes

Vous pouvez le faire à l'avant avec Encodomomponent CODE>:

fetch(`http://xxx.xxx.xx.xx:6969/api/hours/unlock/'${encodeURIComponent(value)}'`)


1 commentaires

Semble fonctionner si je supprimais '' de $ {valeur} mais je garderai cela comme une sauvegarde TY.



1
votes

Alternativement, vous pouvez ajouter les en-têtes à votre Fetch comme ci-dessous, xxx

espère que cela vous aide!


1 commentaires

Semble fonctionner si je supprimais '' de $ {valeur} mais je pense que je vais toujours annoncer cela pour être sûr que TY



0
votes

ok je viens de remarquer que cela fonctionne réellement si je supprimais le '' ' à partir de ' $ {valeur} '' - est-il toujours mieux pour vérifier les espaces et les remplacer parce que cela semble arriver automatiquement en quelque sorte.


0 commentaires