Ajax调用后执行JavaScript

问题描述:

我想使用“calendarDateInput.js”执行javascript来创建日历。是否有可能在ajax调用页面使用ajax选项卡后执行javascript?Ajax调用后执行JavaScript

我没有使用任何ajax库,只是直接调用ajax。在这里我想调用一个Ajax返回页面中的函数,如DateInput(“smsDate”,true,“YYYY-MM-DD”);

+1

您是如何进行Ajax调用的?我可以用jQuery给出一个例子... – Mayo 2011-04-01 17:42:44

通常这是通过回调函数完成的。如果你使用像jquery这样的库,它们通常会为回调提供钩子。

做Ajax调用签出jQuery.ajax(),然后onsucess可以运行更多的JavaScript代码...

http://api.jquery.com/jQuery.ajax/ http://api.jquery.com/jQuery.post/

var jqxhr = $.ajax({ url: "example.php" }) 
.success(function() { alert("success"); }) 
.error(function() { alert("error"); }) 
.complete(function() { alert("complete"); }); 

我希望这是你问的什么...否则请添加一些额外的信息,你的问题......

,如果你不喜欢像jQuery库工作....

你必须检查Ajax调用你的请求状态....

req = new XMLHttpRequest(); 

,然后你必须检查下列值

// IF completed 
if (req.readyState == 4) { 

//服务器HTTP代码 响应如果(req.status == 200){

但jQuery的做了所有为你的工作......

+0

有任何直接的js而不是使用Ajax库,因为我没有使用任何库。 – Ben 2011-04-01 17:51:29

+0

尝试jquery它的功能强大,相对容易开始...你可以去,直到超级复杂它... – silverfighter 2011-04-01 18:21:57

+0

编辑我的帖子为none jquery – silverfighter 2011-04-01 18:33:53

当使用JQ uery或普通的javascript,回调是这样处理的。例如,使用jQuery:

$.ajax({ 
    type: 'POST', 
    url: 'PathTOMyUrl.html', 
    success: function(data) 
    { 
     // This Callback will be invoked on successful call 
    }, 
    error: function(data) 
    { 
     // This callback will be invoked on an error 
    } 
}); 

回调可以包含您认为有用的代码。在普通的javascript中,您可以附加到AjaxRequest上的onreadystatechanged事件。你可以找到更多的信息here

+0

你可以给任何直接的JS? – Ben 2011-04-01 17:52:12

+0

上面的代码片段是JavaScript,只是使用jQuery。如果你不使用jQuery,你可以在这里找到它:'http:// jquery.com /' – Tejs 2011-04-01 17:53:26

是的。 非jQuery:

var httpRequest = new XMLHttpRequest(); //your AJAX object 
httpRequest.onreadystatechange = AJAXhandler; //your ajax handler function 

function AJAXhandler() { 
    if (httpRequest.readyState === 4) { //if success 
    //process.. 
    //"YOU CAN CALL OTHER FUNCTIONS HERE" 
    } 
}