为了账号安全,请及时绑定邮箱和手机立即绑定

如何将数据从Javascript传递到PHP,反之亦然?

如何将数据从Javascript传递到PHP,反之亦然?

胡子哥哥 2019-12-03 16:42:48
如何通过Javascript脚本请求PHP页面并将数据传递给它?然后,如何让PHP脚本将数据传递回Java脚本?client.js:data = {tohex: 4919, sum: [1, 3, 5]};// how would this script pass data to server.php and access the response?server.php:$tohex = ... ; // How would this be set to data.tohex?$sum = ...; // How would this be set to data.sum?// How would this be sent to client.js?array(base_convert($tohex, 16), array_sum($sum))
查看完整描述

3 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

从PHP传递数据很容易,您可以使用它生成JavaScript。另一种方法则比较困难-您必须通过Javascript请求来调用PHP脚本。


一个示例(为简单起见,使用传统的事件注册模型):


<!-- headers etc. omitted -->

<script>

function callPHP(params) {

    var httpc = new XMLHttpRequest(); // simplified for clarity

    var url = "get_data.php";

    httpc.open("POST", url, true); // sending as POST


    httpc.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    httpc.setRequestHeader("Content-Length", params.length); // POST request MUST have a Content-Length header (as per HTTP/1.1)


    httpc.onreadystatechange = function() { //Call a function when the state changes.

        if(httpc.readyState == 4 && httpc.status == 200) { // complete and no errors

            alert(httpc.responseText); // some processing here, or whatever you want to do with the response

        }

    };

    httpc.send(params);

}

</script>

<a href="#" onclick="callPHP('lorem=ipsum&foo=bar')">call PHP script</a>

<!-- rest of document omitted -->

不管get_data.php产生什么,它将出现在httpc.responseText中。错误处理,事件注册和跨浏览器XMLHttpRequest兼容性留给读者简单的练习;)


查看完整回答
反对 回复 2019-12-03
?
慕村225694

TA贡献1880条经验 获得超4个赞

有几种方法,最主要的是获取表单数据或获取查询字符串。这是使用JavaScript的一种方法。当您单击链接时,它将调用_vals('mytarget','theval'),后者将提交表单数据。页面发回时,您可以检查是否已设置此表单数据,然后从表单值中检索它。


<script language="javascript" type="text/javascript">

 function _vals(target, value){

   form1.all("target").value=target;

   form1.all("value").value=value;

   form1.submit();

 }

</script>

或者,您可以通过查询字符串获取它。PHP具有_GET和_SET全局函数来实现此目的,从而使其变得更加容易。


我敢肯定,还有更多更好的方法,但是这些只是我脑海中浮现的一些方法。


编辑:从其他人使用上述方法所说的内容出发,您将拥有一个锚标记,例如


<a onclick="_vals('name', 'val')" href="#">My Link</a>

然后在您的PHP中,您可以使用


$val = $_POST['value'];

因此,当您单击使用JavaScript的链接时,它将发布表单数据,并且页面从该单击发回时,您可以从PHP中检索它。


查看完整回答
反对 回复 2019-12-03
  • 3 回答
  • 0 关注
  • 555 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信