Javascript 通过AJAX调用将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)

所以基本上我有两个文件。1是我的php文件,它在调用时创建带有一些变量的表,第二个文件是进行调用的jquery脚本文件。我的脚本文件:

$.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从中获取值选民:基亚·巴塔海·里特什:)基亚·巴塔海·里特什:)