我正在尝试将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。
为什么会发生这种情况,我该如何解决?感谢。
答案 0 :(得分:0)
问题: 协议没有在网址中定义
解决方案: 更新代码中的以下部分
(function($) {
function todaysHours(context) {
var callbackFunction = '//'+window.location.host +'/' + Drupal.settings.library_hours.callbackFunction,
// rest code
})(jQuery);