2014-01-07 24 views
0

我想做一個ajax回調到Drupal 7.我遇到的問題是,我想用來使回調的URL被追加到當前頁面的用戶正在觀看。我不知道爲什麼會發生這種情況,並想知道是否有人能爲我指出我的錯誤。下面是javascript代碼我使用撥打電話:Ajax回調追加所需的url到現有的網址

(function($) { 
    function todaysHours(context) { 
    var callbackFunction = window.location.host +'/' + Drupal.settings.library_hours.callbackFunction, 
    content = $("#todays-hours").find(".block"); 

    nIntervId = setInterval(checkTime, 300000); 
    function checkTime() { 

     request = $.ajax({ 
      url: callbackFunction, 
      dataType: "json", 
      type: "GET" 
     }); 

     request.done(function(result) { 
      content.text(result[0].data); 
     }) 
    } 
    } 

    Drupal.behaviors.library_hours = { 
    attach: function(context) { 
     todaysHours(context); 
    } 
    } 
})(jQuery); 

我希望使用的URL是http://mydomain.com/ajax/get-time但實際上被在AJAX調用中使用是http://mydomain.com/current-page/mydomain.com/ajax/get-time即使callbackFunction參數變量設置爲MYDOMAIN。 COM/AJAX/GET-時間。

爲什麼會發生這種情況,我該如何解決?謝謝。

+1

以下部分聲音對我。 ('http://',或'window.location.protocol +「//」+ window.location.host')或者,更好的是,只需刪除'window.location.host +' –

回答

0

問題: 協議未在URL中定義

解決方案: 更新像你錯過了協議中的代碼

(function($) { 
    function todaysHours(context) { 
    var callbackFunction = '//'+window.location.host +'/' + Drupal.settings.library_hours.callbackFunction, 
    // rest code 
})(jQuery); 
+0

就是這樣。我知道我有一個大腦放屁的時刻。感謝您指出了這一點。 – user5013