Ajax回调将所需的url附加到现有url

时间:2014-01-07 20:13:20

标签: javascript jquery ajax

我正在尝试将ajax调用回Drupal 7.我遇到的问题是我想用来进行回调的url会附加到用户正在查看的当前页面。我不确定为什么会这样,我想知道是否有人可以为我指出我的错误。这是我用来拨打电话的javascript代码:

(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);

我希望使用的网址是http://mydomain.com/ajax/get-time但是,即使回调函数变量设置为mydomain.com/ajax/get-time,ajax调用中实际使用的是http://mydomain.com/current-page/mydomain.com/ajax/get-time

为什么会发生这种情况,我该如何解决?感谢。

1 个答案:

答案 0 :(得分:0)

问题: 协议没有在网址中定义

解决方案: 更新代码中的以下部分

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