Редактирование Jquery Ajax-функции для вызова функции PHP

Мне дали наш интранет-сайт, чтобы добавить несколько функций, но у меня очень мало опыта в этом виде кодирования. (Компания у нас обанкротилась. Отлично). Мы работаем на сайте Drupal, и ниже приведен некоторый пользовательский код для отображения оранжевой панели предупреждений на сайте (то есть: Cookies в обеденной комнате!)

function alert_poll() {
setTimeout(function(){
jQuery.ajax({
url: baseUrl + "intranet/alerts/get",
success: function(data){
alert_setup(data);
},
dataType: "html"
});
}, 60000); // Polling every 60 seconds

}

// Setup
function alert_setup(data) {
jQuery(data).find(".views-row").each(function() {
var alertId = jQuery(this).find(".alert-nid").text();
var alertMsg = "<span class='alert-label'>** ALERT MESSAGE **</span> <span class='alert-msg'>";
alertMsg += jQuery(this).find(".alert-msg").html() + "</span>";
alertMsg += "<a href='#' class='alert-hide'><span>Hide Alert</span></a>";
if ( !jQuery.cookie("scl-alert-" + alertId) ) {
// Loop through all on-page alerts to see if this one is currently on the page already
// if so, don't display
var displayAlert = true;
jQuery(".intranet-alert-wrap").each(function() {
var onpageAlertId = jQuery(this).attr("id");
if ( onpageAlertId.indexOf("-" + alertId) ) { displayAlert = false; }
});
if ( displayAlert ) { inject_alert(alertMsg,alertId); }
}
});
alert_poll(); //Setup the next poll recursively
}

// Drop alert message onto page
function inject_alert(alert_msg,alert_id) {
jQuery("#zone-content").prepend("<div class='intranet-alert-wrap' id='alert-" + alert_id + "' style='opacity:0;'><div class='intranet-alert'>" + alert_msg + "</div></div>");
jQuery(".intranet-alert-wrap").stop().animate( { "opacity": 1}, 700, null, function(){});
}

Сейчас я не могу понять, как заставить его вызывать функцию PHP. Они хотят, чтобы строка заголовка мигала при публикации нового предупреждения. Я пытаюсь использовать это: http://heyman.info/2010/sep/30/jquery-title-alert/ Он отлично работает в небольшом тестировании, но когда я пытаюсь добавить его в пользовательский код, я сталкиваюсь со следующими проблемами:

  1. Я не могу просто добавить его в «alertMsg», так как он имеет тип dataType «html» и просто выплевывает код PHP в виде текста.
  2. Я попытался использовать $ .post в нескольких местах и ​​вызвать файл с помощью вызова функции PHP, но ничего не произошло.
  3. Я попытался изменить dataType на json, но тогда предупреждение просто не появляется. Я думаю, что есть еще кое-что, что я должен сделать здесь, но я понятия не имею.
  4. Я попытался переписать тело узла drupal (в представлении drupal), чтобы включить вызов PHP, но тело также не будет выполнять PHP. Я не могу использовать верхний или нижний колонтитул, так как тело извлекается непосредственно кодом выше.

Итак, есть ли что-то очевидное, чего мне не хватает? Я просто хочу этот вызов «$ .titleAlert (‘New Alert’);» произойти, когда новое предупреждение сброшено.

Спасибо!

0

Решение

Если я не ошибаюсь и правильно понимаю, чего вы пытаетесь достичь, вам не нужен PHP для этого. Просто убедитесь, что вы инициализировали исправление Jquery Title Alert, и замените эту строку

if ( displayAlert ) { inject_alert(alertMsg,alertId); }

с этим

   if ( displayAlert ) { inject_alert(alertMsg,alertId); $.titleAlert("Your message here!");}

если вы хотите добавить исходный текст предупреждения, измените «Ваше сообщение здесь!» в jQuery (это) .find («. alert-msg»). html ()

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]