什么是Javascript中的home_url()等价物?

时间:2015-08-13 07:44:33

标签: javascript wordpress

我正在使用ajax函数学习Wordpress。我的问题是我的请求中的PATH是硬编码是否有任何功能?我无法在我的网站上获取根文件夹。

这是我的代码,它返回错误,因为我的路径不完整:

$.post(document.location.protocol + '//' + document.location.host + '/wp-admin/admin-ajax.php', {action: 'zwap_add_wishlist', postId: 100}, function(response){
    alert(response);
});

我得到了这个网址:

http://localhost/wp-admin/admin-ajax.php

我的问题是我的wordpress在这个网址中:

http://localhost/wp/wordpress_tutorial/

我知道函数ajaxurl()但我无法应用它,因为我的文件是在javascript中

3 个答案:

答案 0 :(得分:1)

这些应该这样做。



var base_url = window.location.origin;

var host = window.location.host;

var pathArray = window.location.pathname.split( '/' );




或者



var getUrl = window.location;
var baseUrl = getUrl .protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1];




答案 1 :(得分:1)

自WP 2.8以来,在管理头中定义了一个全局变量ajaxurl,用于ajax调用。

有关详细信息:http://codex.wordpress.org/AJAX_in_Plugins

答案 2 :(得分:0)

只使用内置功能

add_action('init','my_script_enqueuer');

function my_script_enqueuer() {

   wp_localize_script( 'my_voter_script', 'myAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )));        

   wp_enqueue_script( 'jquery' );

}

然后您的网址将在myAjax.ajaxurl

中提供

你可以使用

$.post(myAjax.ajaxurl, {action: 'zwap_add_wishlist', postId: 100}, function(response){
    alert(response);
});

尝试这个,让我知道它是否有效 这是参考refrence