【问题标题】:Button click, run a php function with ajax按钮单击,使用 ajax 运行 php 函数
【发布时间】:2016-03-02 11:41:15
【问题描述】:

我想在单击此按钮时运行我的 php 函数,这在 Chrome 和 Firefox 上运行良好,但在 Safari 上不行,我不知道为什么 :( 请帮助我...

我的 PHP 函数是:complete_automate_xml(); 我的按钮是:<button id="btn" onclick="alertWithoutNotice();" class="deletebtn button button-next">Verstuur E-mails</button> 我的代码是:

<script>
    jQuery(document).ready(function($) {
    $('#btn').click(function(){

        $.ajax({
            type: "POST",
            url: '../wp-admin/admin.php?page=spd_xml_importer',
            data: {action: 'call_this'},
            success: function (html) {
                alert(html);
            }

        });
    });
});
</script>
<div class="email-bt">
    <script>function alertWithoutNotice(message) {
            setTimeout(function () {
                alert('E-mails zijn verzonden');
            }, 300);
        }</script>
        <button id="btn" onclick="alertWithoutNotice();" class="deletebtn button button-next">Verstuur E-mails</button>
</div>
<?php
if ($_POST['action'] == 'call_this') {
    complete_automate_xml();
}

【问题讨论】:

  • 控制台safari中是否有js错误?
  • 没什么:(但是当我点击按钮时它不会运行php,很奇怪
  • 有一个内联函数和一个通过onload 处理程序附加的函数似乎很奇怪——几乎是两个相互竞争的函数。你能把两者结合起来吗?
  • 会做的:) 我会在下面发帖,作为答案,如果你有空闲时间请参考

标签: php jquery ajax forms safari


【解决方案1】:

我的想法更像这样 - 但我不能 100% 确定这是 Safari 的问题我只是想知道浏览器中是否存在关于调用哪个函数的混淆。

<script>
    jQuery(document).ready(function($) {
    $('#btn').click(function(){
        setTimeout(function() {
            alert('E-mails zijn verzonden');
        }, 300);

        $.ajax({
            type: "POST",
            url: '../wp-admin/admin.php?page=spd_xml_importer',
            data: { action: 'call_this' },
            success: function (html) {
                alert(html);
            }
        });
    });
});
</script>
<div class="email-bt">
        <button id="btn" class="deletebtn button button-next">Verstuur E-mails</button>
</div>

【讨论】:

  • 非常感谢,但不幸的是它也不起作用,完美的 Chrome 但不是 Safari :(
  • 遗憾的是,我没有 Safari 可供测试 - 所以我什至不知道 Safari 是否有一个控制台可以帮助调试。点击是否会在 Safari 中触发任何内容?
  • 没关系的朋友 :) 很高兴你帮了很多忙。是的,它确实有一个控制台,JS 运行良好,虽然 $_POST 没有。无论如何,我只想在用户单击按钮时运行该 php 函数..
  • 刚刚找到控制台的问题,AJAX 无法正常运行,问题出在 Ajax 上
猜你喜欢
  • 2015-12-25
  • 1970-01-01
  • 1970-01-01
  • 2013-04-04
  • 2011-11-17
  • 2017-04-21
  • 2022-12-03
  • 1970-01-01
  • 2014-11-01
相关资源
最近更新 更多