0

変数を返そうとしていますが、その方法が本当にわかりません。これは

jquery part $('a[href="if_blog"]').click( function( e ) {
        e.preventDefault(); 

        var bblog = $( this ).attr('href');
        var dataString = 'bblog=' + bblog;

        $.ajax({
            type: 'POST',
            url: '', 
            data: dataString, 
            success: function(data){

            $('#php').html(data);
        }
        });
    });

this is the php part and it is part of a big wordpress file:
$byzmo_blog = $_POST['bblog'];
switch ($byzmo_blog) {
    case 'if_blog':
        $byzmo_postype = 'if_posts';
        break;
    case 'food_mood_blog':
        $byzmo_postype = 'food_mood';
        break;
    case 'look_good_blog':
        $byzmo_postype = 'look_good';
        break;
    case 'feel_good_blog':
        $byzmo_postype = 'feel_good';
        break;
}
?>

<div id="php"></div>
<?php var_dump($_POST);

$query = array(
    'post_type' => $byzmo_postype,
    'posts_per_page' => get_theme_option('blog_posts'),
    'orderby' => get_theme_option('blog_orderby'),
    'order' => get_theme_option('blog_order'),
    'paged' => ( get_query_var('paged') ? get_query_var('paged') : true )
);
?>

したがって、リンク (a[href="if_blog"]') をクリックすると、$_POST が示す内容に従ってコンテンツをロードしたいのですが、同じページ データにいる bcs は index.php ファイル全体をロードするので、ページに2回ロードされ(.html()を使用しているため)、$_POSTにもロードされます..この部分に$_POSTを使用してデータ内の変数のみを使用するにはどうすればよいですか? ?

あなたが私を理解してくれることを願っています......

編集: わかりました、私はそれを理解していないのではないかと心配しています:だから私は次のようなsthであるindex.fileを持っています:

<a href='if_blog'>The Link</a>

<?php
$post_type = $_POST['posttype'];

$query = array(
    'post_type' => $post_type,
    'posts_per_page' => get_theme_option('blog_posts')
);
?>

<?php query_posts( $query ); if ( have_posts() ) :  ?>

<?php while ( have_posts() ) : the_post(); endwhile; endif; ?>

したがって、リンクをクリックすると、jquery ファイルによって取得されます。

jQuery.noConflict();
jQuery( document ).ready( function( $ ) {
$('a[href="if_blog"]').click( function( e ) {


        var bblog = $( this ).attr('href'); 
        var url = 'test.php'; 

        $.post(url, { byzmo_blog: bblog },
            function(data) {
                    alert(data);
                    //console.log(data); //
        }); //, "json");
        e.preventDefault();
});

} );

text.php から文字列を返すか、json_encode を適用した場合はオブジェクトを返します。

この時点から、このデータを index.html に返して使用したいと思います $post_type = $_POST['posttype']; さらに.. console.log を使用しても何も起こりません。ここで json_decode を使用する必要がありますか? 色々探したけど今のところ出てこない(/_;)

4

1 に答える 1

1

代わりに使用$.post('url', '{data}', function(answer));します。postJqueryから詳細情報を収集できます。基本的に、次のものがあります。

$.post("test.php", { name: "John", time: "2pm" },
   function(data) {
     alert("Data Loaded: " + data);
   });

クライアントサイトで。したがって、サーバー側では、値を次のように取得します

$name = $_POST['name'];
$time = $_POST['time'];

JavaScript リテラル オブジェクトを PHP 配列に使用json_decode($_POST['name'])し、それをページに送り返すにはjson_encode($array);を使用できます。あなたの例ではPOST、データの送信先に指定していません。どこへ行くかのURLが絶対に必要ですPOST

于 2012-07-02T02:54:54.303 に答える