xui.js api 文档指出 xhr 请求...
... 总是在元素集合上调用并使用 html 的行为。
因此,在您的 GET 请求中/panel
,响应文本将出现在警报窗口中,因为这就是您的回调要执行的操作。但是,如果没有回调,它会将响应加载到#left-panel
元素中,就像您使用过一样:
x$('#left-panel').xhr('/panel', {
async: true,
callback: function() {
x$('#left-panel').html(this.responseText);
},
headers:{
'Mobile':'true'
}
});
也就是说,上面的代码应该产生与以下相同的效果:
x$('#left-panel').xhr('/panel', {
async: true,
headers:{
'Mobile':'true'
}
});
此外,xhr 请求的调用独立于目标元素事件。也就是说,它不一定由悬停(或模糊)触发。假设您想绑定到#left-panel
元素的单击。然后你需要类似的东西:
x$('#left-panel').on('click', function(e){
this.xhr('/panel', {
async: true,
callback: function() {
alert("The response is " + this.responseText);
},
headers:{
'Mobile':'true'
}
});
});