我有这样的代码:
$('#message').load('conversation.php?link=projects/living room/room');
当我运行此代码时,它在chrome中的错误控制台中显示"syntax error, unrecognised expression"
。
但如果我运行相同的代码:
$('#message').load('conversation.php?link=projects/livingroom/room');
这样可以正常工作。这两条线之间唯一的区别是,在第一条线上,工作区(起居室)有一个空间,而在第二条线上,单词(起居室)中没有空格。
这里发生了什么。为什么.load()在放置空格时显示错误,没有错误且没有空格?
答案 0 :(得分:1)
如果@Matt Ball在上面的评论中指出,$.load()对您不需要的网址有特殊解释,那么我建议将$.load()
替换为更符合要求的内容。在这种情况下,包含正确回调的$.get()更适合您的需求。
在这种情况下,很明显问题的一部分是包含空格的网址。
但是包含空格的URL部分位于数据参数中,为了更好的一致性和可靠性,应该将其作为参数提供给jQuery函数,而不是尝试自己从参数构造URL。
$.get('conversation.php',
{link: 'projects/living room/room'},
function(data){ $('#message').html(data) }
);