Javascript 通过AJAX调用将PHP变量获取到jquery脚本文件
所以基本上我有两个文件。1是我的php文件,它在调用时创建带有一些变量的表,第二个文件是进行调用的jquery脚本文件。我的脚本文件:Javascript 通过AJAX调用将PHP变量获取到jquery脚本文件,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,所以基本上我有两个文件。1是我的php文件,它在调用时创建带有一些变量的表,第二个文件是进行调用的jquery脚本文件。我的脚本文件: $.ajax({ type: 'POST', data: ({p:2,ank : ankieta,wybrane:wybrane}), url: 'zestawienia_db.php', success: function(data)
$.ajax({
type: 'POST',
data: ({p:2,ank : ankieta,wybrane:wybrane}),
url: 'zestawienia_db.php',
success: function(data) {
$('#results').html(data);
}
});
它可以很好地打印我的结果。
我的php文件正在回显应该在我的results div中打印的数据。
问题是如何获取一些PHP数据变量,并能够在我的jquery文件中使用它们,而无需实际回显它们???您可以通过回显所有您想要的数据来实现这一点,如peiceofdata§anotherpeice§onemorepeice§anotherpeice,然后您可以使用PHP的explode函数并使用§作为“exploding char”这将生成上面所有数据的数组,如somedata[0]=peiceofdata somedata[1]=anotherpeice等等 explode函数的用法如下 爆炸(‘§’,$somestringoffoyouwant变为乱码) 然后可以像这样回显相关数据 回波数据[0];
在这种情况下,它将回显文本peiceofdata。你可以通过回显所有你想要的数据来实现这一点,比如peiceofdata§anotherpeice§onemorepeice§anotherpeice然后你可以使用php的explode函数,并使用§作为“exploding char”,这将生成一个包含所有上述数据的数组,比如somedata[0]=peiceofdata somedata[1]=另一个,等等 explode函数的用法如下 爆炸(‘§’,$somestringoffoyouwant变为乱码) 然后可以像这样回显相关数据 回波数据[0];
在本例中,它将回显文本peiceofdata。就像我在对您的问题的评论中所说的,一种方法是回显脚本标记上的变量,这样您就可以使用javascript进行访问
<script>
var PHPVariables;
PHPVariables.VariableName1 = '<?=$phpVariableName1?>';
PHPVariables.VariableName2 = '<?=$phpVariableName2?>';
PHPVariables.VariableName3 = '<?=$phpVariableName2?>';
</script>
变量;
PHPVariables.VariableName1='';
PHPVariables.VariableName2='';
PHPVariables.VariableName3='';
您可以使用这些值访问javascript上的
PHPVariables.VariableName1
。正如我在对您的问题的评论中所说,一种方法是通过在脚本标记上回显变量,这样您就可以在javascript中访问
<script>
var PHPVariables;
PHPVariables.VariableName1 = '<?=$phpVariableName1?>';
PHPVariables.VariableName2 = '<?=$phpVariableName2?>';
PHPVariables.VariableName3 = '<?=$phpVariableName2?>';
</script>
变量;
PHPVariables.VariableName1='';
PHPVariables.VariableName2='';
PHPVariables.VariableName3='';
您可以使用这些值访问javascript上的
PHPVariables.VariableName1
。使用json格式,并在此json中添加数据变量:
<script>
var PHPVariables;
PHPVariables.VariableName1 = '<?=$phpVariableName1?>';
PHPVariables.VariableName2 = '<?=$phpVariableName2?>';
PHPVariables.VariableName3 = '<?=$phpVariableName2?>';
</script>
PHP:
Javascript:
$.ajax({
type: 'POST',
data: ({p:2,ank : ankieta,wybrane:wybrane}),
url: 'zestawienia_db.php',
success: function(data) {
data = JSON && JSON.parse(data) || $.parseJSON(data);
$('#results1').html(data.var1);
$('#results2').html(data.var2);
}
});
使用json格式,在此json中添加数据变量: PHP: Javascript:
$.ajax({
type: 'POST',
data: ({p:2,ank : ankieta,wybrane:wybrane}),
url: 'zestawienia_db.php',
success: function(data) {
data = JSON && JSON.parse(data) || $.parseJSON(data);
$('#results1').html(data.var1);
$('#results2').html(data.var2);
}
});
在ajax文件中编写此类代码 var数据=数组('name'=>'steve',date=>'18-3-2014') 回波编码(数据) //ajax以这种方式调用 $.ajax({ 键入:“POST”
data: pass data array,
url: ajaxfile url,
success: function(data) {
var data = $.parseJSON(data);
$('#name').html(data.name);
$('#date').html(data.date);
}
})) 在ajax文件中编写此类代码 var数据=数组('name'=>'steve',date=>'18-3-2014') 回波编码(数据) //ajax以这种方式调用 $.ajax({ 键入:“POST”
data: pass data array,
url: ajaxfile url,
success: function(data) {
var data = $.parseJSON(data);
$('#name').html(data.name);
$('#date').html(data.date);
}
})) 你不能,不同的语言,不同的目的,一个是脚本客户端,另一个是解释服务器端。唯一的方法是通过回显PHP变量,但是您可以回显脚本标记上的变量,因此您可以从javascript访问它,但不能直接使用它们。您甚至可以用JSON设置AJAX调用的响应,并从中生成所需的内容。您必须显式地将数据传输到JavaScript。但是,正如前面提到的,您可以使用JSON数据格式来发送复杂的数据对象,而不是原始的HTML。您不能,不同的语言,不同的目的,一个是脚本客户端,另一个是解释服务器端。唯一的方法是通过回显PHP变量,但是您可以回显脚本标记上的变量,因此您可以从javascript访问它,但不能直接使用它们。您甚至可以用JSON设置AJAX调用的响应,并从中生成所需的内容。您必须显式地将数据传输到JavaScript。但是,如前所述,您可以使用JSON数据格式发送一个复杂的数据对象,而不是原始的HTML.Thx,但这不适用于我的代码,因为我需要先打印所有数据。@norbidrak如果您想先打印所有数据,请将所有数据保存在JSON的一个键中,如下所示:
数组('allData'=>$allData,'otherdata'=>$otherdata);
。并按如下方式打印:$('#results').html(data.allData);
。如果您想获得对特定变量的访问权,请将此添加到json中。是的,但在我的例子中,所有数据都是动态创建的div,带有表、单元格和多个变量,我无法将其全部压缩到一个变量中。我找到了一种方法,通过发送隐藏输入并命名所需字段,以便使用jquery从中获取值选民。谢谢你的努力,但这不适用于我的代码,因为我需要先打印所有数据。@norbidrak如果你想先打印所有数据,请将所有数据保存在json的一个键中,如下所示:数组('allData'=>$allData,'otherdata'=>$otherdata);
。然后这样打印:$('#results').html(data.allData);
。如果您想获得对特定变量的访问权,请将此添加到json中。是的,但在我的例子中,所有数据都是动态创建的div,带有表、单元格和多个变量,我无法将其全部压缩到一个变量中。我找到了一种方法,通过发送隐藏输入并命名所需字段,以便使用jquery从中获取值选民:基亚·巴塔海·里特什:)基亚·巴塔海·里特什:)