在PHP中使用Javascript变量

时间:2010-06-17 19:34:20

标签: php javascript

我在之前的帖子中已经看到了这个问题的一些答案,但没有人给出一个真正的工作示例,只是伪造的代码。有没有人曾经这样做过?

基本上,我所拥有的是javascript(jquery)中的变量,我想使用此变量来驱动查询(对于覆盖窗口)我将在php中运行。

根据我的阅读,您可以使用对同一页面的ajax调用来执行此操作,因此它不会自行刷新,但我必须丢失一些东西,因为我无法使其正常工作...

那里有任何例子吗?

感谢。

更新2010年6月21日: 好吧,我试图通过但仍然有一些问题......这就是我所拥有的。我在edit_1.php中处理的页面。基于Firebug控制台,页面(edit_1.php)正在接收正确的'editadid'。

当我尝试回应它时,我得到一个'未定义的变量'错误但是...任何你都可以看到我错过了吗?

这是javascript:

var jsVariable1 = $(this).parent().attr('id');
var dataString = 'editadid=' + jsVariable1;
$.ajax({ 
    url: 'edit_1.php', 
    type: 'get', 
    data: dataString, 
    beforeSend: function() {

    },
    success: function (response) { 

    } 
});

这是我的php: 如果(isset($ _ GET [ 'editadid'])) {     $ editadid =(int)$ _ GET ['editadid'];

}

echo $ editadid;

2 个答案:

答案 0 :(得分:1)

如果没有看到您当前使用的代码,很难提供帮助。

在jQuery中:

var jsVariable1 = "Fish";
var jsVariable2 = "Boat";

jQuery.ajax({
    url: '/yourFile.php',
    type: 'get',
    data: {
       var1: jsVariable1,
       var2: jsVariable2
    },
    success: function (response) {
       $('#foo').html(response);
    }
});

然后你的PHP:

<?php

$jsVariable1 = $_GET['var1'];
$jsVariable2 = $_GET['var2'];

// do whatever you need to do;

?>

<h1><?php echo $jsVariable1; ?></h1>
<p><?php echo $jsVariable2; ?></p>

这是相当通用的...但它会做的事情。

需要注意的一个重要事项是一个非常常见的错误,即由于AJAX请求而对DOM进行的任何添加(即在此示例中我添加了h1和{{ 1}}标记到DOM),除了使用jQuery的livedelegate方法之外,不会绑定绑定到p的任何事件处理程序。

答案 1 :(得分:1)

我想说的是,你必须了解ajax是如何工作的,而不是寻找一个例子。如何通过ajax访问URL并将查询参数与它们一起传递(这些可以是您正在寻找的javascript变量)如何在javascript中捕获服务器端响应并用于操作现有页面dom。或者更好的是你可以发布你尝试过的东西,有人可以为你纠正它。