【问题标题】:Ampersands replaced by slashes in JSONP在 JSONP 中用斜线替换 & 符号
【发布时间】:2013-09-20 13:36:49
【问题描述】:

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

$json = json_encode($data);

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

它将所有&signs 解释为:\/ 因此,它不是“食物和水”,而是“食物/水”。谁能提示我问题出在哪里?

【问题讨论】:

  • 我的第一个猜测是问题出在 json_encode() 内部
  • 你的callback是做什么的?
  • 你能提供一个错误输出的具体例子吗?

标签: javascript php jquery jsonp


【解决方案1】:

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

$json = json_encode($columns);

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


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

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

【讨论】:

  • 你能在你的帖子中发布原始输入吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-10
  • 1970-01-01
  • 2012-08-27
  • 2011-01-29
相关资源
最近更新 更多