<分区>
我在另一个网站中插入了一个按钮,点击后,它会触发带有 url 的 ajax get 请求,其中包含一些 url 参数。让我们这样说:
GET https://example.com/search/test=1&hello=world&session=123
$('#myBtn').click(function() {
// Here
funcForTriggeringAjax()
});
有没有办法在 //Here
上添加一个调用观察者以开始只观察特定的 url(类似于 https://example.com/search/*
) 一旦我得到结果,它就会停止观察?
这样到最后,我就可以访问参数值了。
完全是虚构的场景:
$('#myBtn').click(function() {
startAjaxObserver()
funcForTriggeringAjax()
});
startAjaxObserver() {
observingStarted(x, result) {
var url = "https://example.com/search/*";
if (x.url == url) {
console.log(result['session'])
stopObservingAjax()
}
}
}
我尝试了以下答案,但没有成功:
$(document).ready(function() {
$('#myBtn').click(function() {
$(document).ajaxSuccess(responseHandler());
});
})
function responseHandler() {
console.log("X") // comes here
return function(event, xhr, settings) {
console.log('Y') // doesn't come here
if (settings.url == 'desired-url' && active) {
// do your thing
active = false;
}
}
}