Преобразуйте этот относительный путь в абсолютный
В приведенном ниже сценарии .js ссылка ajaxPath прерывается, когда содержащая страница находится вне корневого каталога сайта. Есть ли обходной путь, чтобы сделать этот путь абсолютным?
jQuery(document).ready(function($){
initContentEditable();
var dir = ContentEditableSettings.content_editable_url;
var ajaxPath = 'wp-admin/admin-ajax.php'; //THIS RELATIVE PATH BREAKS OUTSIDE ROOT DIRECTORY
function initContentEditable(){
$('.contenteditable.furniture').blur(updateContentEditable);
$('.contenteditable.custom').blur(updateContentEditableCustom);
$('.contenteditable.title').blur(updateContentEditableTitle);
$('.contenteditable').each(function(){
var parent = $(this).parent();
var display = parent.css('display');
$(this).css('display', display);
});
}
function updateContentEditableTitle(e){
e.preventDefault();
var span = $(this);
var data = new Object();
data.pid = span.attr('data-pid');
data.title = span.find('.saver').text();
data.action = 'ce_update_title';
data.security = ContentEditableSettings.nonce;
$.post(ajaxPath, data, onContentSaved); //AJAXPATH BREAKS AS RELATIVE REF
}
1
1 answers
Пока ваш каталог wp-admin
все еще находится в корне вашего сайта, вы можете просто добавить косую черту (/
) в URI. Альтернативно, вы можете использовать wp_localize_script()
чтобы передать URL-адрес вашего сайта или, если вы используете функции AJAX WordPress, переменную ajaxurl
JS.
var ajaxPath = '/wp-admin/admin-ajax.php';
Или
<?php
wp_enqueue_script( 'some_handle' );
$translation_array = array( 'ajaxPath' => admin_url( 'admin-ajax.php' ) );
wp_localize_script( 'some_handle', 'object_name', $translation_array );
?>
2
Author: Joseph Leedy, 2012-11-02 12:19:26