2017-05-31 12 views
2

URLからクエリパラメータを削除するためにこのコードを使用していますが、動作していません。どうぞご覧ください。node.jsを使用したクエリパラメータの削除

const url = require('url') 
 

 
const obj = url.parse('http://www.example.com/path?query1=val1&query2=val2', true) 
 
delete obj.query.query2 
 
const link = url.format(obj) 
 
console.log(link) // I was expecting the removal of query2 but it didn't happen

上記渡されたようquery2が削除されていない理由は、同じURLをログに記録?おかげ

+0

あなたは 'HTTP可能にする' link'作ろうとしている:?//www.example.com/path QUERY2 = val2' –

+0

@デ・リーパーは、彼のように、私には見えます@ – WORMSS

+0

@ D-reaper以外の方法で、 'http://www.example.com/path?query1 = val1'にして、' query2'を一掃しています。 @OPあなたは 'delete object.obj ['key'];'を実行する必要があるキーと値のペアを削除するために、私はURLを再構成するのを見ましたが、ダイスはありませんでした。上記は 'query'オブジェクトから' query2'を削除します。 –

答えて

1

あなたはquery2はまだ検索フィールドに存在している、あなたは、クエリオブジェクトからquery2を削除するにもかかわらずこれはあなたがhttp://www.example.com/path?query1=val1

1

をURL戻りますオブジェクト

const obj = url.parse('http://www.example.com/path?query1=val1&query2=val2', true) 
delete obj.query.query2 
delete obj.search 

const link = url.format(obj) 
console.log(link) 

から検索ノードを削除する必要があります。

const url = require('url'); 

const obj = url.parse('http://www.example.com/path?query1=val1&query2=val2', true) 
console.log(obj); 
delete obj.query.query2 
delete obj.search 
console.log(obj); 
const link = url.format(obj) 
console.log(link) 
0

const url = require("url") 
 

 
const urlObj = url.parse('http://www.example.com/path?query1=val1&query2=val2', true) 
 

 
delete urlObj.query.query2 
 
delete urlObj.search 
 

 
const newUrl = url.format(urlObj) 
 

 
console.log(newUrl) // print >> http://www.example.com/path?query1=val1

関連する問題