如何将数据从javascript发送到php

时间:2011-12-15 14:43:22

标签: php javascript jquery html

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

我需要将var父变量发送给php,以便它知道在哪里显示html数据(正确的是div / class,我该怎么做。

5 个答案:

答案 0 :(得分:3)

简短的回答是“你不能”。

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

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

答案 1 :(得分:2)

尝试JSON和Ajax(XMLHttpRequest)作为“客户端到服务器”机制

当PHP是服务器端时,在客户端评估JavaScript。你没有琐碎的方法去做。

答案 2 :(得分:0)

如果尚未生成html数据,则必须向服务器发出新请求,最好是通过jQuery $.get函数,然后将输出(再次通过jQuery)传递给{{1} } element。

答案 3 :(得分:0)

请使用Jquery并为此目的使用$ .ajax

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

// parent是一个javascript变量

success: function(msg){


//Message received from server,
    // if you would write some code in echo there, like echo "hello";
    // you would get that in msg.


}

});

要在php上访问此变量,请使用$ _POST [" parentvar"]; 你也可以通过用&和它们连接它们来发送多个值。运营商。 像data:"parentVar="+parent+"&name=atif&age=23";等

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

进一步的帮助 http://api.jquery.com/jQuery.ajax/

答案 4 :(得分:0)

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

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

http://jsfiddle.net/hLD4F/

尝试点击任何按钮,它会发送请求。在PHP中,您可以通过$_POST['html']访问此信息。