jquery回调到WordPress上的php文件的 AJAX

qmelpv7a  于 2023-01-12  发布在  PHP
关注(0)|答案(2)|浏览(102)

我尝试在WordPress中使用 AJAX 时遇到了以下情况。

**1.**要调用的文件只有一个很小的代码,如:<?php echo "Whatever" ?>
**2.**它将被按钮onclick调用:

<button id="ajaxbtn" onclick="showPopup()" class="btn-shape"></button>

<div id="ajax-input"></div>

**3.**函数. php

x一个一个一个一个x一个一个二个x

**4.**Jquery

jQuery("#ajaxbtn").click(function() {
  jQuery.ajax({
    type: 'post',
    dataType: 'json',
    url: myajax.ajax_url,
    data: {
      action: 'tablo'
    },
    success: function(response) {
      jQuery('#ajax-input').html(response.content);
    }
  });
});

**5.**当前输出,控制台中有XHR加载完成的信息:张贴“http//.....”,但实际上没有张贴任何内容。

有没有人知道那个代码可能有什么问题?我的问题是点。3任何好的建议都非常感谢。

4ioopgfo

4ioopgfo1#

get_stylesheet_directory_uri()显然不是在该函数中构建调用文件的路径的正确方法。一旦修改,内容就会返回。

nr9pn0ug

nr9pn0ug2#

在我看来,你有两个问题:
1.数据类型:“json”参数,很可能是因为您没有以json格式发送数据
1.“响应.内容”应该只是“响应”
另外,不知道在这段代码之前是否已经声明了传入“myajax.ajax_url”的URL?
还有一件事,从jQuery 1.8开始,“success”就不流行了,现在应该使用done()。
考虑到所有这些,试试这个,看看它是否有效?

$.ajax({
    type: 'post',
    url: 'path/to/your-ajax-file.php',
    data: { action: 'tablo' }
}).done(function(response) {
    console.log(response);
    $('#ajax-input').html(response);
});

我添加了一个console.log(响应);行,这样您也可以在JavaScript控制台中看到结果,请在脚本运行后删除它!

相关问题