Как декодировать URL из ответа AJAX? - PullRequest
0 голосов
/ 21 февраля 2019

внутри token.php у меня есть этот код:

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

Этот echo $matches[1] напечатает URL-адрес, подобный этому:

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();, я получаю желаемый результат, но он не работает с возвращенным URL-адресомот вызова Ajax.

1 Ответ

0 голосов
/ 21 февраля 2019

Используйте unescape с JSON.stringify:

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

console.log(unescape(JSON.stringify(i)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...