1

我正在通过 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 包括正在传递的文本。例如(“我相信#yolo。”)#yolo 是一个字符串,而不是一个 div-id 标签。

4

1 回答 1

1

问题是它#是 URL 中的保留字符,用于指示跳转到锚点。

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

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

这里了解详情

于 2013-01-27T21:30:35.280 回答