Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将数据从javascript发送到php_Php_Javascript_Jquery_Html - Fatal编程技术网

如何将数据从javascript发送到php

如何将数据从javascript发送到php,php,javascript,jquery,html,Php,Javascript,Jquery,Html,我需要将var parent发送到php,以便它知道在哪里显示html数据(在正确的are div/class中,我将如何执行此操作。尝试使用Ajax()作为“客户端到服务器”机制 当PHP是服务器端时,JavaScript是在客户端进行评估的。您没有简单的方法来进行评估。尝试使用Ajax()作为“客户端到服务器”机制 当PHP是服务器端时,JavaScript是在客户端进行评估的。你没有简单的方法来进行评估。简单的回答是“你不能” 浏览器(运行JS的地方)和服务器(运行PHP的地方)之间的通信

我需要将var parent发送到php,以便它知道在哪里显示html数据(在正确的are div/class中,我将如何执行此操作。

尝试使用Ajax()作为“客户端到服务器”机制

当PHP是服务器端时,JavaScript是在客户端进行评估的。您没有简单的方法来进行评估。

尝试使用Ajax()作为“客户端到服务器”机制

当PHP是服务器端时,JavaScript是在客户端进行评估的。你没有简单的方法来进行评估。

简单的回答是“你不能”

浏览器(运行JS的地方)和服务器(运行PHP的地方)之间的通信是通过HTTP处理的。如果要发送JavaScript对象,则必须将其序列化为字符串,并在另一端反序列化。表示HTMLElementNode(或包装的jQuery对象)没有明智的方法在这个过程中(不仅仅是因为PHP通常不在DOM中表示HTML,而且当它表示HTML时,它将与浏览器使用的DOM实例不同)

通常在这种情况下,您会从PHP请求一些数据(可能使用一个jQuery),然后使用JavaScript将其转换为DOM元素并插入到文档中。

简短的回答是“您不能”

浏览器(运行JS的地方)和服务器(运行PHP的地方)之间的通信是通过HTTP处理的。如果要发送JavaScript对象,则必须将其序列化为字符串,并在另一端反序列化。表示HTMLElementNode(或包装的jQuery对象)没有明智的方法在这个过程中(不仅仅是因为PHP通常不在DOM中表示HTML,而且当它表示HTML时,它将与浏览器使用的DOM实例不同)


通常在这种情况下,您会从PHP请求一些数据(可能使用jQuery的一个)然后使用JavaScript将其转换为DOM元素并插入文档。

如果html数据尚未生成,则必须向服务器发出新请求,最好是通过jQuery
$。获取
函数,然后传递输出(再次通过jQuery)到
父元素。

如果html数据尚未生成,则必须向服务器发出新请求,最好是通过jQuery
$。获取
函数,然后将输出(再次通过jQuery)传递到
父元素。

请使用jQuery并使用$.ajax

$('myBtn').on("click",function(){
var parent= $(this).parent();// will give you the Parent Object of the button, that has       been clicked
});
//parent是一个javascript变量

$.ajax({
type: "POST",
url: "yourPHPPage.php",
data: "parentvar="+parent,
}))

要在php上访问此变量,请使用$_POST[“parentvar”]; 您还可以通过使用&operator将多个值合并来发送它们。 如
数据:“parentVar=“+parent+”&name=atif&age=23”
;等

如果需要进一步的帮助,请告诉我

进一步帮助

为此,请使用Jquery和$.ajax

$('myBtn').on("click",function(){
var parent= $(this).parent();// will give you the Parent Object of the button, that has       been clicked
});
//parent是一个javascript变量

$.ajax({
type: "POST",
url: "yourPHPPage.php",
data: "parentvar="+parent,
}))

要在php上访问此变量,请使用$_POST[“parentvar”]; 您还可以通过使用&operator将多个值合并来发送它们。 如
数据:“parentVar=“+parent+”&name=atif&age=23”
;等

如果需要进一步的帮助,请告诉我

进一步帮助

据我所知,您不能将DOM对象直接传递给服务器——存储的信息太多,不实用。您可以发送对象的HTML

下面是一个将HTML发送到服务器的示例。你会处理它,但我们只是回显它


尝试单击任何按钮,它将发送请求。在PHP中,您可以通过
$\u POST['html']

访问这些信息。据我所知,您无法将DOM对象直接传递给服务器,因为存储的信息太多,不实用。您可以发送对象的HTML

下面是一个将HTML发送到服务器的示例。你会处理它,但我们只是回显它


尝试单击任何按钮,它将发送请求。在PHP中,您可以通过
$\u POST['html']

访问这些信息,我不完全理解您的问题,但我认为Ajax可以解决您的问题。您应该创建一个Ajax函数,将var发送到Ajax上的PHP?+1-您应该看看jQuery Ajax命令。它真的很容易使用,并且完全符合您的要求。jQuery文档应该足够让您开始使用了。@Songo我同意。我想OP不清楚
parent
是否是浏览器中的活动对象,但通过HTTP只传递字符串,而不是对象+我不完全理解你的问题,但我认为Ajax可以解决你的问题。你应该创建一个Ajax函数,将变量发送到php吗?+1在Ajax上-你应该看看jQuery Ajax命令。它真的很容易使用,并且完全符合您的要求。jQuery文档应该足够让您开始使用了。@Songo我同意。我想OP不清楚
parent
是否是浏览器中的活动对象,但通过HTTP只传递字符串,而不是对象+对我来说是1。字符串化jQuery对象不会给您任何有用的东西发送到服务器。字符串化jQuery对象不会给您任何有用的东西发送到服务器。