如何使用jQuery/javascript从一个文件到另一个文件获取php变量?
所以,我试图解决一个非常简单的问题,但4小时后的大部分时间我仍然不知道。 我只想获取变量z并将其转换为php,以便在数组中使用该值。目前,我已经成功地将另一个文件中的值转换为php,现在我需要将其返回到原始文件以供使用,这就是我遇到的问题。我已经在下面包含了相关代码 orders2.php获取javascript值z,并使用另一个文件使其成为php如何使用jQuery/javascript从一个文件到另一个文件获取php变量?,javascript,php,jquery,ajax,modal-dialog,Javascript,Php,Jquery,Ajax,Modal Dialog,所以,我试图解决一个非常简单的问题,但4小时后的大部分时间我仍然不知道。 我只想获取变量z并将其转换为php,以便在数组中使用该值。目前,我已经成功地将另一个文件中的值转换为php,现在我需要将其返回到原始文件以供使用,这就是我遇到的问题。我已经在下面包含了相关代码 orders2.php获取javascript值z,并使用另一个文件使其成为php (function($) { $(document).on('click', '.rowclick',function() {
(function($) {
$(document).on('click', '.rowclick',function() {
var z = 2;
alert(z);
var post = $.post('../../wp-content/themes/alma-child/includes/modes.php',{z:z});
post.done(function(data){
<?php
$rownum = $_GET['z2'];
echo "nei";
?>
})
$("#myModal1").modal();
});
})(jQuery);
(函数($){
$(文档).on('click','rowclick',function(){
var z=2;
警报(z);
var post=$.post('../../wp content/themes/alma child/includes/modes.php',{z:z});
post.done(功能(数据){
})
$(“#myModal1”).modal();
});
})(jQuery);
orders2.php中的模态部分
<div id="myModal1" class="modal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<div class="account_modal_body">
<button class="close" type="button" data-dismiss="modal">Close Window</button>
<div id="missing">
<form action="#" id="form" method="post" name="form">
<div id="printthis">
<h2>Track Mastering Details</h2>
<label>Track Name</label>
<div class="subsec">
<?php echo $waiting[$z2][0] ?>
</div>
<label>Artist</label>
<div class="subsec">
<?php echo $waiting[$z2][1] ?>
</div>
<label>Duration</label>
<div class="subsec">
<?php echo $waiting[$z2][2] ?>
</div>
<label>ISRC</label>
<div class="subsec">
<?php echo $waiting[$z2][3] ?>
</div>
<label>Mastering Notes</label>
<div class="subsec">
<?php echo echo $waiting[$z2][4] ?>
</div>
</div>
</form>
</div>
<button class="close" id="print" type="button">Print</button>
</br>
</div>
</div>
</div>
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->
关窗
跟踪控制细节
音轨名称
艺术家
期间
ISRC
掌握笔记
印刷品
modes.php打开另一个文件
这段代码肯定是不正确的,我试图从前面的一个解决方案中获取jQuery,但不确定它是如何工作的
<?php $z2=$ _POST['z']; ?>
<div id="uploads">
<?php echo $z2; ?>
</div>
<script>
jQuery('#uploads').load('orders2.php?account=<?php echo($z2);?>');
</script>
jQuery('#uploads').load('orders2.php?account=');
注意事项:
我意识到这可能不是最好的方法,因此任何其他将javascript变量转换为php的解决方案都将不胜感激。另外,我想说的是,如果页面可以不刷新(因此是javascript)正如您已经知道的那样,它不会像现在这样工作,但让我试着解释一下原因。这里有一些概念性的问题会一直阻碍你,直到你理解它们 PHP与JavaScript的混合 您需要了解的最重要的事情是如何混合JavaScript和PHP。这是巨大的。您可以将JavaScript和PHP放在同一个文件中,但不能按您认为的方式。让我给你看看 下面是一个使用jQuery的简单PHP文件。它同时包含JavaScript和PHP
(function($) {
$('#test-button').click(function() {
<?php echo 'This is a test'; ?>
});
})(jQuery);
看到了吗?没有PHP标签!在JavaScript有机会运行之前,PHP已经被执行了。PHP是由服务器预先运行的。(在这种情况下,浏览器中会出现错误。这是一个测试
不是有效的JavaScript!)
如何在PHP和jQuery之间共享数据
因此,如果PHP在服务器上运行,那么如何在jQuery和PHP之间共享数据?答案是使用$.post
,您已经在这样做了。你只需要稍微调整一下。这里有一个例子
假设我有下面的JavaScript。我想问服务员玛丽最喜欢的颜色。当服务器告诉我时,我想显示一个警报,说明它是什么。下面是如何在JavaScript文件中实现这一点。假设它在index.php中,在脚本
标记中
(function($) {
var name = "Mary";
$.post("color.php", { person: name })
.done(function(data) {
alert(data.name + "'s favorite color is " + data.color + "!");
});
})(jQuery);
您会注意到,我们还引用了一个PHP文件,color.PHP
。所以我们也必须创造这个。下面是color.php中的代码可能的样子:
<?php
$people = array(
'Eric' => 'blue',
'Freddie' => 'orange',
'Mary' => 'blue',
'Pedro' => 'green'
);
echo json_encode(array(
'name' => $_POST['person'],
'color' => $people[$_POST['person']],
));
然后,第一个代码段中的代码可能如下所示:
(function($) {
$('#test-button').click(function() {
This is a test
});
})(jQuery);
// ...
var post = $.post('../../wp-content/themes/alma-child/includes/modes.php',{z:z})
.done(function(data){
alert(data.title);
});
// ...
结论
简而言之,从jQuery发布到modes.php
我希望这是有道理的!请随便问我这里发生了什么。正如你已经知道的,它不会像现在这样工作,但让我试着解释一下原因。这里有一些概念性的问题会一直阻碍你,直到你理解它们 PHP与JavaScript的混合 您需要了解的最重要的事情是如何混合JavaScript和PHP。这是巨大的。您可以将JavaScript和PHP放在同一个文件中,但不能按您认为的方式。让我给你看看 下面是一个使用jQuery的简单PHP文件。它同时包含JavaScript和PHP
(function($) {
$('#test-button').click(function() {
<?php echo 'This is a test'; ?>
});
})(jQuery);
看到了吗?没有PHP标签!在JavaScript有机会运行之前,PHP已经被执行了。PHP是由服务器预先运行的。(在这种情况下,浏览器中会出现错误。这是一个测试
不是有效的JavaScript!)
如何在PHP和jQuery之间共享数据
因此,如果PHP在服务器上运行,那么如何在jQuery和PHP之间共享数据?答案是使用$.post
,您已经在这样做了。你只需要稍微调整一下。这里有一个例子
假设我有下面的JavaScript。我想问服务员玛丽最喜欢的颜色。当服务器告诉我时,我想显示一个警报,说明它是什么。下面是如何在JavaScript文件中实现这一点。假设它在index.php中,在脚本
标记中
(function($) {
var name = "Mary";
$.post("color.php", { person: name })
.done(function(data) {
alert(data.name + "'s favorite color is " + data.color + "!");
});
})(jQuery);
您会注意到,我们还引用了一个PHP文件,color.PHP
。所以我们也必须创造这个。下面是color.php中的代码可能的样子:
<?php
$people = array(
'Eric' => 'blue',
'Freddie' => 'orange',
'Mary' => 'blue',
'Pedro' => 'green'
);
echo json_encode(array(
'name' => $_POST['person'],
'color' => $people[$_POST['person']],
));
然后,第一个代码段中的代码可能如下所示:
(function($) {
$('#test-button').click(function() {
This is a test
});
})(jQuery);
// ...
var post = $.post('../../wp-content/themes/alma-child/includes/modes.php',{z:z})
.done(function(data){
alert(data.title);
});
// ...
结论
简而言之,从jQuery发布到modes.php