Wordpress Ajax为管理员用户正确返回数据,但返回非管理员的整个主页

时间:2015-01-09 20:08:55

标签: php jquery ajax wordpress

正如上面的主题所述,我有一个2字段表单,通过ajax将两个变量发布到通过WP_User_Query查询的php文件。然后返回的数据显示在页面上。作为管理员登录时,整个过程完美运行。以订户身份登录时会出现此问题。运行相同的脚本。返回的结果是整个主页加载到我的"结果" DIV。我已经检查了控制台,它说" XHR已加载(admin-ajax.php - 302暂时移动"以及另一个读取," XHR已加载(websitenamehere) - 301已永久移动& #34;

任何帮助都会非常感激,甚至指向正确的故障排除方向。以下是我的PHP代码的前几行,因为我觉得问题可能在哪里。

//Add Activity to Database (AJAX)
add_action("wp_ajax_county_search", "county_search");
add_action("wp_ajax_nopriv_county_search", "my_must_login_county_search");

function nceda_county_search() { ...

这是我对js文件的排队& ajax本地化......

//Enqueue Scripts
add_action( 'init', 'my_script_enqueuer' );
function my_script_enqueuer() {
   wp_register_script( "member_search_script", WP_PLUGIN_URL.'/member-search/js/member-search.js', array('jquery') );      
   wp_localize_script( 'member_search_script', 'myAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )));  
   wp_enqueue_script( 'member_search_script' ); 
}

1 个答案:

答案 0 :(得分:0)

<强> ADMIN_URL

http://codex.wordpress.org/Function_Reference/admin_url

  

admin_url模板标记检索管理区域的URL   当前网站使用适当的协议,&#39; https&#39;如果是is_ssl()和   &#39; HTTP&#39;除此以外。如果方案是&#39; http&#39;或者&#39; https&#39;,is_ssl()是   重写的。

     

参数$ path(string)(可选)相对于admin url的路径。   默认值:无$ scheme(字符串)(可选)要使用的方案。默认   是&#39; admin&#39;,它服从force_ssl_admin()和is_ssl()。 &#39; HTTP&#39;要么   &#39; HTTPS&#39;可以通过强制执行这些计划。该功能使用   get_site_url(),因此允许的值包括由此接受的任何值   功能。默认值:&#39; admin&#39;

查看架构参数

  

(string)(可选)提供站点url上下文的Scheme。目前   &#39; http&#39;,&#39; https&#39;,&#39;登录&#39;,&#39; login_post&#39;,&#39; admin&#39;或者&#39;亲戚&#39;。

尝试使用&#39; http&#39;或null

或更好地使用site_url()