我正在尝试返回一个变量,但我真的不明白该怎么做。这是
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 文件,所以它是在页面中两次加载(因为我使用 .html())然后它也加载到 $_POST 中.. 对于这部分 $byzmo_blog = $_POST['bblog']; 如何仅使用 $_POST 数据中的变量 ?
我希望你能理解我......
编辑: 好的,恐怕我不明白:所以我有 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();
});
} );
如果我应用 json_encode,则返回 text.php 中的字符串或对象。
现在从这一点开始,我想将此数据返回到 index.html 并使用它 $post_type = $_POST['posttype']; 进一步..当我使用console.log时没有任何反应,我必须在这里使用json_decode吗?我搜索了很多,但现在无法得到它......:/