如何从ajax响应中解码url?

问题描述 投票:1回答:1

token.php里面我有这个代码:

$url = file_get_contents($urlPost);
preg_match('/\"amplem\":"(.*)\",/', $url, $matches);
echo $matches[1];

这个echo $matches[1]会打印出这样的网址:

https://example.com/?id\u003dg596c2f91a67e518\u0026itag\u003d18\u0026source\u003dtest

index.php我做一个ajax电话:

$.ajax({
  type:'post',
  url:siteURL+'/token.php',
  data:{token:token},
  success:function(data){
    var i = decodeURIComponent(data);
    console.log(i);
  }
})

console.log(i)的当前结果:

https://example.com/?id\u003dg596c2f91a67e518\u0026itag\u003d18\u0026source\u003dtest

console.log(i)的理想结果:

https://example.com/?id=g596c2f91a67e518&itag=18&source=test

编辑 - 如果我将编码的url直接放在decodeURIComponent();中,我会得到所需的结果,但它不适用于从ajax调用返回的url。

javascript jquery html5 ecmascript-6 webpage
1个回答
1
投票

使用unescapeJSON.stringify

var i = "https://example.com/?id\u003dg596c2f91a67e518\u0026itag\u003d18\u0026source\u003dtest";

console.log(unescape(JSON.stringify(i)));
© www.soinside.com 2019 - 2024. All rights reserved.