首页 > 解决方案 > 为什么我不能在 encodeURI 中放一个 var?

问题描述

为什么这行得通?

var movieName = encodeURI("deadpool");
var url = "https://api.themoviedb.org/3/search/movie?api_key=" + apiKey + "&query=" + movieName;

这不是吗?我放了一个控制台日志来检查并且有效

var movieName = $(".shown .title").html();
console.log(movieName);

var url = "https://api.themoviedb.org/3/search/movie?api_key=" + apiKey + "&query=" + encodeURI(movieName);

标签: jqueryvarencodeuricomponent

解决方案


HTML 可能在标题周围有空格,您需要将其删除。

var movieName = $(".shown .title").html().trim();

此外,如果有嵌入的 HTML 标记,您可能应该使用.text()而不是。.html()

var apiKey = "key";

var movieName = encodeURIComponent("deadpool");
var url = "https://api.themoviedb.org/3/search/movie?api_key=" + apiKey + "&query=" + movieName;
console.log(url);

var movieName = $(".shown .title").html().trim();
console.log(movieName);

var url = "https://api.themoviedb.org/3/search/movie?api_key=" + apiKey + "&query=" + encodeURIComponent(movieName);
console.log(url);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="shown">
<div class="title">
deadpool
</div>
</div>


推荐阅读