0

我输入这个js:

<script type="text/javascript">
$(document).ready(function() {
    $('#publish').click(function() {
        var postID=$('#post_ID').attr('value');
        alert(postID);
        $.ajax({
                url:"/wp-admin/spracovanie.php",
                method: "GET",
                data: {clanok: <?php echo $post_id;?>},
                success: function(data) {
                    alert(data);
                }
        });
    });
});
</script>

该脚本保存在 wp-admin 的 post.php 文件中。当我单击#publish 时,脚本会提示正确的 ID,但ajax 请求失败。在 Firebug 中,我看到“GET http://www.sktipy.sk/wp-admin/spracovanie.php?clanok=2854 ”用红色字体输入,参数没问题,文件存在 - 现在只是回显一些东西。问题出在哪里?在文件 spracovanie.php 中,我想在我的数据库中插入一些内容。

4

1 回答 1

4

您可能希望preventDefault()发布按钮可能正在做其他事情,例如在您的 JS 有机会运行 ajax 之前发布它自己的内容以及它的默认预期行为。 http://api.jquery.com/event.preventDefault/

编辑:添加了one只附加点击监听器一次然后触发点击成功的ajax方法的方法。

<script type="text/javascript">
$(document).ready(function() {
    $('#publish').one('click', function( event ) {
        event.preventDefault();
        var postID=$('#post_ID').attr('value');
        alert(postID);
        $.ajax({
                url:"/wp-admin/spracovanie.php",
                method: "GET",
                data: {clanok: <?php echo $post_id;?>},
                success: function(data) {
                    alert(data);
                    // Now trigger click on button again
                    $('#publish').trigger( "click" );
                }
        });
    });
});
</script>
于 2013-10-28T11:59:44.857 回答