Javascript JSON显示标签符号

时间:2013-01-27 21:20:17

标签: javascript json

我通过URL保存一些数据,其中一个数据元素是文本。我希望能够在其上保存和存储带有主题标签的笔记。例如,我希望能够保存“我相信#yolo”,但是当我保存它(通过php),并使用javascript再次检索它时,我得到“我相信”。无论如何,我可以回到#yolo吗?我尝试使用str_replace,但我可能得到了正则表达式错误。

感谢您的帮助!

    function dropsuccess() {
        answerArray = [];
        answerArray.id = Math.round(new Date().getTime() / 1000);
        answerArray.text = document.getElementById("boglory").value;
        $.getJSON("saveBlade.php?id="+answerArray.id+"&text="+answerArray.text,
        function(data) {
            if (data.hasOwnProperty("error")) {
                alert(data.error);
                } else {
                    $("#handle").animate({marginTop:"100%"},800, 
                    function() {
                        document.getElementById("handle").style.display = "none";document.getElementById("bladecontainer").style.display = "none";$('#qod').fadeIn('medium');
                    });     
            }
        });     
    }

answerArray.text包含正在传递的文本。 Ex(“我相信#yolo。”)#yolo是一个字符串,而不是div-id标签。

1 个答案:

答案 0 :(得分:1)

问题是#是URL中的保留字符,表示跳转到锚点。

你需要逃脱它。如果你将它们作为getJSON函数中的data参数提供,JQuery会自动转义所有需要的字符:

$.getJSON("saveBlade.php",
  {
    id: answerArray.id,
    text: answerArray.text
  },
  function(data) {

查看here了解详情