【问题标题】:How to call Ajax in wordpress in custom.php page?如何在 custom.php 页面的 wordpress 中调用 Ajax?
【发布时间】:2020-12-18 12:53:58
【问题描述】:

我有一个奇怪的问题

我想在 public_html 的自定义 page.php 中调用 wordpress ajax url

奇怪的是我有两种类型的页面,它们有两个不同的路径:

第一个是:the_permalink()/page1

第二个是:the_permalink()/page1/page2

问题是 ajax url 调用在 page1 路径中工作正常:the_permalink()/page1

但在 page2 路径中,调用方式相同的相同功能不起作用:the_permalink()/page1/page2

有什么建议吗?

注意:我已经测试了使用 alert() 函数调用 ajax 的 SCRIPT 代码,发现代码在变为 ajax 部分时停止是这段代码:

<script>
    $(document).ready(function(){
      $('.checknow').click(function(e){
        
        e.preventDefault();
        var data = "test";
        //alert(ajaxurl);
                
        $.ajax({
            type:"POST",
            url:ajaxurl,
            data: {
                action:'action_function_php', 
                data:data,
                },
            success:function(data){
                $('.security-check-result').html(data);
            }
        });

      });
      return false;
    });
</script>

注意:我使用的是通配符 *,所以如果有帮助的话,永久链接返回的是子域

我也试过直接输入网址,但也没用

这是一个示例页面(将很快将其删除)-仅用于制作 清除 -

https://gameloop.bramj.store/windows

如果您尝试在搜索栏中搜索某些内容,则在此页面中,您会发现 ajax 返回工作正常

但如果你搬到

https://gameloop.bramj.store/windows/download

您会注意到页面中的每个 ajax 代码都不起作用。

【问题讨论】:

  • 浏览器控制台有错误吗?还是只不设置html?
  • 我认为没有显示错误,如果您有时间,我已将示例包含在其中:),感谢您的帮助
  • 在查看控制台后,是的,显示错误
  • 问题已解决,非常感谢

标签: php ajax wordpress


【解决方案1】:

非常感谢,问题解决了

我必须把当前的主 url(域/子域)没有任何 slugs

所以这种情况下最好的解决方案是使用这个网址:

var ajaxurl = "https://<?php echo $_SERVER['HTTP_HOST'];?>/wp-admin/admin-ajax.php";

【讨论】:

    【解决方案2】:

    您需要使用wp_localize_script 才能访问ajaxurl 全局。 如果您不想这样做,那么如果您的 javascript 在 PHP 文件中,则可以将 ajaxurl 替换为 &lt;?php echo admin_url('admin-ajax.php');?&gt;

    【讨论】:

    • 感谢您的回复,我的朋友,但我也尝试过,但仍然无法正常工作,如果您在,我已经在上面提供了一个示例,再次感谢您的时间和帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-19
    • 2015-07-15
    • 1970-01-01
    相关资源
    最近更新 更多