2011-04-01 122 views
0

我想使用「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

回答

2

通常這是通過回調函數完成的。如果你使用像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

0

當使用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

1

是的。 非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" 
    } 
}