我的網站上有一個搜索表單如果有人可以搜索一個URL以http://開頭是這樣的:你如何添加URL作爲查詢參數值
https://www.google.com
然後應進行編碼和附加爲查詢參數值是這樣的:
localhost:4000/api/https%3A%2F%2Fwww.google.com
當我運行它(如上圖)本地,它的工作原理,但當部署(如下圖):
https://api.mysite.com/search/api/https%3A%2F%2Fwww.google.com%2F
=>返回404
如果我輸入:
http://localhost:4000/api/https://www.google.com
我得到這個錯誤:
Phoenix.Router.NoRouteError at GET /api/v1/https://www.google.com
no route found for GET /api/v1/https:/www.google.com (ExternalPing.Router)
我不知道,如果這些都有關。追加url作爲查詢參數值的正確方法是什麼?
我已經試過編碼,URI.encode和URI.encode_www_form但他們並沒有解決這個
我認爲這裏的答案會爲你工作,即使他們'不使用路由(查看內置函數encodeURIComponent(str)和encodeURI(str)。):http://stackoverflow.com/questions/332872/encode-url-in-javascript –
你確定'localhost :4000/api/https%3A%2F%2Fwww.google.com'不起作用?它應該工作。此外,您可以使用'URI.encode_www_form'生成該文件:'「http:// localhost:4000 /」<> URI.encode_www_form(「https://www.google.com」)#=> 「http:/ /localhost:4000/https%3A%2F%2Fwww.google.com「'。 – Dogbert
localhost:4000/api/https%3A%2F%2Fwww.google.com確實能夠正常工作,但它無法正常工作,例如: https://api.mysite.com/search/api/https %3A%2F%2Fwww.google.com%2F – matcha