1

この HTML/PHP コードから「data-postid」属性を取得しようとしています。これを使用して、クリックしたときに適切なライトボックスが表示される一意の div を取得しようとしています (WordPress サイトを使用しています)。 、したがってWordpressコード):

編集: 現在のバージョンを表示するようにコードを変更し、「myfile.php」という新しいファイルを追加しました

HTML/PHP コード (index.html):

<div class="person-row">
  <div id="post-<?php the_ID() ?> <?php post_class(); ?>" class="person" data-postid="<?php the_ID() ?>">
 </div>

JQuery コード (script.js):

var $post = $(this);
        var identifier = ($post.data("postid"));

        $.ajax({
            url: "myfile.php",
            type: "POST",
            data: { postNumber: (identifier) },
            dataType: "text",
            success: function(response) {
                alert(response);
            }
        });

次に、それをPHPに戻して使用しようとしています

PHP コード (myfile.php)

<?php $post = $_POST['postNumber'] ?>

PHP コード (index.html)

<?php $PID = $_GET['postNumber'] ?>

どんな助けでも大歓迎です。他に知っておくべきことがあれば、喜んで提供します。

4

1 に答える 1

2

あなたのコードは最適ではありませんが、理論的には動作するはずです。ただし、それを改善することはできます。

$post = $(this);
$.ajax({
    url: "index.php",
    type: "GET",
    data: { postid: $($post).attr("data-postid") }, 
    success: function(response) {
       alert(response);  
    }
});

ミシエルの言う通り。に変更でき$($post).attr("data-postid")ます$post.data('postid')jQuery はデータ属性へのアクセスをサポートしているため、.xmlを使用する必要はありません.attr

$post も jQuery オブジェクトにラップされていました。再ラップする必要はありません。つまり、これを行う必要はありません$($post)

于 2013-11-11T14:42:20.220 に答える