gpt4 book ai didi

php - Javascript 端 RequestHandler

转载 作者:行者123 更新时间:2023-11-30 18:34:37 28 4
gpt4 key购买 nike

我想在所有 ajax 调用之后调用一些 javascript 函数。我知道如何调用每个单独的 ajax 调用中的函数,如下所示:

function xyz()
{

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("links").innerHTML=xmlhttp.responseText;

*****javacsript would go here*****
}

xmlhttp.open("GET","xhr_php/site_links.php",true);
xmlhttp.send();
}
}

所以,我知道如何在每个 ajax 调用之后或内部调用它,如上所示。但我想知道是否有一个函数可以在所有/任何 ajax 调用之后调用这些函数。这样我就不必在每个 ajax 调用中编写 javascript。我认为它与 endrequesthandler 有关,但不确定它是如何用 php/javascript 编写的。我在网上发现了一些与 asp.net 有关的东西,但我使用的是 php。

我还喜欢在 ajax 调用开始时或在 ajax 调用之前调用函数的方法。

这样我就可以在 ajax 调用期间启动和停止函数,而不必在每次调用中都写这个。

感谢您的帮助。

最佳答案

你可以让它接受一个回调函数:

function xyz(callback) {
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
callback(this);
}

}
xmlhttp.open("GET", "xhr_php/site_links.php", true);
xmlhttp.send();
}

然后:

xyz( function( xhr ) {

alert( xhr.responseText );

});

关于php - Javascript 端 RequestHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8609686/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com