2017-11-09 7 views
0

URLをビルドしようとするクラウドにdb.getを実行しようとしているnodejsコードがあります。NodeJsのURLエンコード

var contactsFile = result.docs[0]._id; 
var finalUrl = contactsFile+'/'+contactsFile; 
testDb.get(urlencode.decode(finalUrl), function(err, data) { 
    if (!err) { 

        abc = data; 
        console.log("file" , abc); 

       } 

       else{ 
        console.log("this is the error " , err); 
       } 
      }); 

私はget要求を渡されたURLを印刷しようとすると、URLが https://cloudant/db/contactsFile%2FcontactsFileとして渡されます。

しかし、私はそれをhttps://cloudant/db/contactsFile/contactsFileとして渡したいと思います。

私はuriencodeとdecodeを試してみましたが、私が理解したことを試しましたが、urlencode.decodeで印刷すると/ getリクエストではワットでは%2Fに変換されます。

これは簡単な質問かもしれませんが、私がノードに慣れているので、私はまだ学んでいます。

+0

なぜあなたは、URLをデコードしていますか?ちょうど 'testDb.get(finalUrl、...'? –

+0

私は..私にも同じ結果を与えました – user6591323

答えて

0

私が正しく理解している場合、 "https://cloudant/db/contactsFile%2FcontactsFile"をtestDb.getに渡しますが、 "https://cloudant/db/contactsFile/contactsFile"を渡す必要があります。

それがそうなら、あなたはこの試みることができる。さらに参考のため

testDb.get(decodeURIComponent(finalUrl), ...); 

を:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent

+0

私もそれを試しました.. "https:// cloudant/db/contactsFile%2FcontactsFile" – user6591323