我们可以从jquery打印php var吗?

时间:2013-02-14 16:30:05

标签: php javascript jquery wordpress

在php中我有这个:

'posts_per_page' => 6,

我需要能够从jquery生成该数字6。 LIterally根据屏幕分辨率,我需要生成我想要显示的帖子数量。我知道我可以使用jquery检查屏幕分辨率和大小但是如何输出变量让我们说<?php $postNumber ?>来自jquery变量?所以我可以

'posts_per_page' => <?php echo $postNumber ?>,

5 个答案:

答案 0 :(得分:4)

您需要使用jQuery获取屏幕分辨率并将其传递给PHP吗?如果是,您将需要使用Ajax。 jQuery示例:

$.ajax({
    type: 'POST',
    url: 'page.php',
    data: {screenSize: 6},
}).done(function(data){

}).fail(function(error){

});

答案 1 :(得分:3)

你不能那样。当在服务器机器上执行php时,Javascript在客户端浏览器上执行。要在客户端和服务器之间进行通信,您应该发出ajax请求。

答案 2 :(得分:2)

您可以在jquery中获取屏幕分辨率,如下所示:

var browserWidth = $(window).width();
var browserHeight = $(window).height();

您可以根据决议设置帖子数。帖子数量为6。

var noOfPosts=6;

现在,您需要使用AJAx

将此数据发布到php页面,如下所示
 $.ajax({
  type: 'POST',
  url: page.php,//the page to which you want to send data
  data: postNumber=noOfPosts,
  success: function(){print("success");}
});

你可以在php pagee上检索这个数字6,如下所示:

  $postNumber= $_POST["postNumber"];

然后根据需要使用它。

修改

所以,你必须保持整体如下:

var browserWidth = $(window).width();
var browserHeight = $(window).height();
var noOfPosts=0;//Default no of posts you want to have
if(browserWidth<960)
{
    noOfPosts=3;
}

AJAX调用将是相同的,但它将在此代码块之后。

答案 3 :(得分:1)

根据您的说法,您的第一个代码块 PHP。因此,不需要使用PHP嵌入标记<?php切换到PHP模式,也不需要回显(如第二个代码块中所示)。

如果$postNumber包含您想要的值

'posts_per_page' => 6,

简单地变成

'posts_per_page' => $postNumber,

答案 4 :(得分:0)

您可以使用php编写包含所需变量的javascript。