我在之前的帖子中看到过这个问题的一些答案,但没有人给出真正的工作示例,只是伪代码。以前有人这样做过吗?
基本上,我拥有的是 javascript (jquery) 中的一个变量,我想使用这个变量来驱动我将在 php 中运行的查询(对于覆盖窗口)。
根据我所读到的内容,您可以使用对同一页面的ajax调用来完成此操作,这样它就不会自行刷新,但我一定错过了一些东西,因为我无法让它工作......
有什么例子吗?
谢谢。
2010 年 6 月 21 日更新: 好吧,我尝试解决但仍然遇到一些问题......这就是我所遇到的。我正在编辑的页面位于 edit_1.php 中。根据 Firebug 控制台,页面 (edit_1.php) 正在接收正确的“editadid”。
当我尝试回显它时,我收到了“ undefined variable ”错误...你们都可以看到我在这里错过了什么吗?
这是 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: if(isset($_GET['editadid'])) { $editadid = (int)$_GET['editadid'];
}
回显$editadid;
最佳答案
如果不看到您当前正在使用的代码,就很难提供帮助。
在 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
和DOM 的 p
标记),不会将任何事件处理程序绑定(bind)到您在 $(document).ready(...);
中绑定(bind)的事件处理程序,除非你使用 jQuery 的 live
和delegate
方法。
关于php - 在 PHP 中使用 Javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3065004/