Отправка данных из JS (функция обратного вызова скрипта) в PHP? - PullRequest
0 голосов
/ 17 февраля 2012

Я использую Thickbox с WordPress, после загрузки Thickbox отправляет данные обратно в редактор (поле загрузки), весь код jQuery выглядит как здесь :

jQuery(document).ready(function() {

   jQuery('#upload_image_button').click(function() { //user clicks upload button
     tb_show('', 'media-upload.php?type=image&TB_iframe=true'); //Thickbox pop-ups
     return false;
    });

    window.send_to_editor = function(html) { //here's our callback function
     imgurl = jQuery('img',html).attr('src');
     jQuery('#upload_image').val(imgurl); //that's how we send something to front-end
     //how to send "imgurl" to back-end within this function?
     tb_remove(); //closes Thickbox
    }

 });

Мне интересно, каков оптимальный способ отправки переменной из JS в PHP (я хочу отправить ее в функцию WP, чтобы она была зарегистрирована как «опция» с помощью update_option('option_name','variableFromJS');.

Имейте в виду, что Thickbox открывается внутри iframe, поэтому все, что у меня есть, это функция обратного вызова.

1 Ответ

1 голос
/ 17 февраля 2012

Просто сделайте $ .post () обратно на страницу PHP внутри функции.

window.send_to_editor = function(html) { //here's our callback function
  imgurl = jQuery('img',html).attr('src');
  jQuery('#upload_image').val(imgurl); //that's how we send something to front-end
  //do an AJAX post back to the server (you'll probably want call backs, but this is simple
  $.post('media-upload.php',{ url: "coolURLToImage" });
  tb_remove(); //closes Thickbox
}

Документация: http://api.jquery.com/jQuery.post/

...