2013-10-28 21 views
0

發佈我鍵入此JS:發送Ajax時點擊在WordPress

<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> 

此腳本在可溼性粉劑管理員保存在文件post.php中。當我點擊#publish時,腳本警報正確ID,但ajax請求失敗。 在Firebug中,我看到「GET http://www.sktipy.sk/wp-admin/spracovanie.php?clanok=2854」類型帶有紅色字體,param正常,文件存在 - 現在只是回顯一些東西。問題在哪裏?在文件spracovanie.php我想在我的數據庫中插入一些。

+0

還有一個未使用的變量postID –

+0

這並不重要。 –

回答

3

您可能想要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> 
+0

謝謝。現在它將我的腳本稱爲發送請求,但基本的wordpress腳本停止工作。現在有什麼新問題? –

+0

然後你可以在ajax調用的成功函數中觸發單擊按鈕。將更新答案只附加你聽衆'一次'http://api.jquery.com/one/ –

+0

.one(「click」,...)爲我工作,謝謝你x1000! –