我通过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标签。
答案 0 :(得分:1)
问题是#
是URL中的保留字符,表示跳转到锚点。
你需要逃脱它。如果你将它们作为getJSON函数中的data参数提供,JQuery会自动转义所有需要的字符:
$.getJSON("saveBlade.php",
{
id: answerArray.id,
text: answerArray.text
},
function(data) {
查看here了解详情