onun XML yılında &
izin vermez url parametreleri (req.query) güncelleştirmek etmez. İki parametreyi içeren (/path?a=123&b=hello
'gibi) url'den kaçtım ve şimdi /path?a=123%26b=hello
olur ve tarayıcının otomatik olarak url'yi geri döndüreceğini düşünürdüm. Ama değil. Ve Google bot hata veriyor.değiştirme req.url Google Site yana
Bu nedenle, söz konusu rotayı çağırmadan önce yığının üstüne bir ara katman işlevi ekliyorum.
app.use(function (req, res, next) {
debug(req.url);
req.url = unescape(req.url);
debug(req.url);
// This works as expected
next();
});
Ama ben gerçekleştirdiğinizde req.query.a
ve req.query.b
(Google botu /path?a=123%26b=hello
yani kaçan URL kullanarak ziyaret ediyor), o req.query.a gives 123%26b=hello
ve req.query.b gives undefined
yani orijinal değerini veriyor ve ben req.url
kontrol yaparken olduğu tespit edilmeyen url veriyor doğru.
Önerileriniz nelerdir?
GÜNCELLEME:
(Ben bu denemedim ama işe yarayacak)
// After unescaping req.url
// test.com/path?a=123&b=hello
var query = req.url.split('?')[1].split('&');
var a = query[0].split('=')[1];
var b = query[1].split('=')[1];
// It looks very dirty
XML'de '/ yol? A = 123 & b = hello' denediniz mi? – user3173842
@ user3173842 Teşekkürler. İhtiyacım olan tam temiz çözüm. Lütfen cevap kabul edip, kabul edebilmek için cevap yazınız. – dragfire