0

WP のカスタム テーマを開発していますが、ajax コールバックに問題があります... これは私のヘッダーです:

<script>    
//alert("Data Loaded");
    $('#domaincheck').submit(function(){
        alert("Button pressed");
        $.post('<?php bloginfo('template_directory'); ?>/check.php', $(this).serialize(), function(data){
        alert("Data Loaded: " + data);
        });             
        return false;
    });
</script>

私のテーマファイルには、次のような単純なフォームがあります。

<form id="domaincheck">
Name: <input type="text" name="urname">
Birthplace: <input type="text" name="urbirth">
<input type="submit" name="submit" value="Submit">
</form>

送信ボタンをクリックすると、ページがリロードされるだけです:(これをWordPressから移動すると、すべてが正常に機能します。これをWordPressで機能させる方法はありますか?また、JSコードを「ドキュメント準備完了" - javascript がまったく機能していません.... documentready がないと、アラートが表示されますが、コールバックは表示されません - ページをリロードするだけです... もう一度 - wordpress テンプレートの外では、本来のように機能します。

ありがとう、ピーター

4

1 に答える 1

1

私はローカルホストで実行しましたが、これはajax呼び出しを非常にうまく実行しています:

私はファイルでadded one main jquery plugin参照しますheader.php<head>

<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>
<script type='text/javascript'>
   $(function(){
       $('#domaincheck').submit(function(e){
           e.preventDefault();
           alert("Button pressed");
           $.post('<?php bloginfo('template_directory'); ?>/check.php',$(this).serialize(), function(data){
               alert("Data Loaded: " + data);
           });
       });
   });
</script>

これはcheck.phpファイルphpコードです:

<?php
    if((isset($_POST['urname'])) && (isset($_POST['urbirth']))){
        echo $_POST['urname'];
        echo $_POST['urbirth'];
    }
?>

投稿されたデータのアラートを受け取りました。

これを試して、これが役立つかどうかを確認してください。

于 2012-12-09T10:18:42.107 に答える