Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何解码url中的html?_Javascript_Html - Fatal编程技术网

Javascript 如何解码url中的html?

Javascript 如何解码url中的html?,javascript,html,Javascript,Html,在我的项目中,我有一个“后退按钮”,它调用了一个javaScript函数,在调用该函数时会记住前面的url //back button function function goBack() { $window.history.back(); } 单击“后退”按钮时要记住或调用的url包含一个ID,该ID用于筛选数据。我遇到的主要问题是,这个ID以html编码的字符串形式返回。例如,这是正在调用的url: //查找?$filter=VehicleId%20eq%20%272415%27& 如您

在我的项目中,我有一个“后退按钮”,它调用了一个javaScript函数,在调用该函数时会记住前面的url

//back button function 
function goBack() { $window.history.back(); }
单击“后退”按钮时要记住或调用的url包含一个ID,该ID用于筛选数据。我遇到的主要问题是,这个ID以html编码的字符串形式返回。例如,这是正在调用的url:

//查找?$filter=VehicleId%20eq%20%272415%27&

如您所见,VehicleId在上面的url中是2415,它也被编码为%20%272415%27&。此纯文本为VehicleId=“2415”。这与我的程序冲突,因为我的程序需要一个int变量而不是字符串

为了解决这个问题,我尝试去编码??我一直在研究这个问题,但是我仍然不知道如何把它放到我的项目中

我使用$location来记住url中的ID,如下所示:

if ($location.search().vehicle) {
                        var str = vehicle;
                        var strEsc = unescape(str);
                        vehicle = strEsc;

                      vehicle = $location.search().vehicle;

                    }

老实说,我不知道我是否做对了(我不确定)…有人可以帮忙吗?

您可以使用regexp解析VehicleId,例如:

var tab=unescape(location.search).match(/VehicleId eq '(\d+)'/);
if (tab) {
    var id=tab[1];
}

decodeURIComponent
是关键:

decodeURIComponent('VehicleId%20eq%20%272415%27&'); // "VehicleId eq '2415'&"

这绝对不是一个正确的ID(更不用说您正在尝试执行
$filter=VehicleId=2135
,当然,这会破坏查询字符串,找到一种方法对该值进行编码)。您可能应该使这些ID更标准一些,这样您就可以得到更准确的结果

我可能的副本也会非常小心提供一个Javascript支持的、基于表单的后退按钮,并告诉用户不要使用浏览器的后退按钮。他们不会听/注意的。确保浏览器的“后退”按钮符合用户的期望-此时,您不需要HTML按钮。感谢您抽出时间回答我的问题,我知道您来自何方,但在本项目中,只有用户。。你能分享一下“调用时记住上一个url”的代码吗?它就在上面,先生!/>函数goBack(){$window.history.back();}hmmm。。。。您知道如何设置url以进行相应的更改吗?我的意思是车辆ID将根据用户的选择动态更改。我建议使用更合适的URL结构,例如:
/Lookups?VehicleId=2415
,因为您当前的结构总是需要我手动重写(例如将'eq'更改为
=
),这可能不值得。