在 JSONP 中,与号替换为斜杠


Ampersands replaced by slashes in JSONP

我在从数据库中获取信息时遇到问题。当我使用以下代码将其作为 JSONP 时:

$json = json_encode($data);
echo isset($_GET['callback'])
    ? "{$_GET['callback']}($json)"
    : $json;

它将所有&符号解释为: '/ 因此,它不再是"食物和水",而是"食物/水"。谁能提示我问题出在哪里?

我想

出了如何解决它,但不知道为什么会发生。基本上我去掉了反斜杠,然后用下面替换了所有正斜杠:

$json = json_encode($columns);
$json = stripslashes($json);
$json = str_replace("/","&", $json);

echo isset($_GET['callback'])
    ? "{$_GET['callback']}($json)"
    : $json;

它按照我想要的方式工作。希望它能帮助其他有同样问题的人。