-3

我有这样的代码:

$('#message').load('conversation.php?link=projects/living room/room');

当我运行此代码时,它会"syntax error, unrecognised expression"在 chrome 的错误控制台中显示。

但是,如果我像这样运行相同的代码:

$('#message').load('conversation.php?link=projects/livingroom/room');

这将正常工作。这两行之间的唯一区别是,第一行在 work(客厅)中有空格,而在第二行中,单词(livingroom)中没有空格。

这里发生了什么。为什么 .load() 在放置空间时显示错误而没有空间时没有错误?

4

1 回答 1

1

如果正如@Matt Ball 在上面的评论中指出的那样,$.load()对您不需要的 URL 有特殊的解释,那么我建议用$.load()更适合要求的东西替换。在这种情况下,包含正确回调的$.get()更适合您的需求。

在这种情况下,很明显部分问题是包含空格的 url。

但是包含空格的 URL 部分是在数据参数中,为了更好的一致性和可靠性,应该将其作为参数提供给您的 jQuery 函数,而不是尝试自己从参数构造 URL。

$.get('conversation.php',
   {link: 'projects/living room/room'}, 
   function(data){ $('#message').html(data) }
 );
于 2013-08-13T04:22:35.470 回答