我需要获取title
变量的href
:
var href = $(this).attr('href');
$(this).click(function(event) {
event.preventDefault();
$.ajax({
url: href,
success:function(response) {
document.title = $(response).find('title').html();
window.history.pushState('', '', href);
},
})
})
Сhangingurl
工作正常,但页面title
显示undefined
。
答案 0 :(得分:0)
在您的代码中,您希望response
采用可接受的格式作为jQuery
函数的输入(包含选择器表达式的字符串)。虽然response
只能是XML,JSON,HTML或脚本。根据{{3}},如果未指定dataType
,则将执行智能猜测。在您的问题中,我们不知道AJAX返回的格式是什么。
如果您的数据以HTML格式返回,我认为您应该抓取此HTML以获取<title>
标记,这将需要更多代码。
如果数据以JSON形式返回,您可以从响应中解析此数据并将其放入document.title
。 (当然,应该实现将页面title
服务器端添加为JSON响应的一部分的逻辑)。
无论如何,我相信$(response).find('title').html();
不会有效地获得新AJAX返回内容的标题。