微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用AJAX从原始JavaScript到PHP的值

我想知道如何使用ajax和vanilla javascript将某些内容发送到PHP.
我问你,因为我刚刚找到了jQuery解决方案.

我知道,如果我想接收某些东西,它应该像这样:

var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      this.responseText; // This is my response
    }
  };
  xhttp.open("GET", "PHPfile.PHP", true);
  xhttp.send();

有人可以解释或将我发送至解决方案,因为我什么都找不到.

解决方法:

第一种方法

要将数据从JavaScript发送到PHP(或任何其他脚本)应该与您发现的一样:

xhttp.setRequestHeader('Content-type', 'application/json');
xhttp.send(JSON.stringify(params));

其中params是一些JavaScript变量. application / json是JSON数据的数据类型.

PHP方面,您也是正确的:使用json_decode()获取与发送的JavaScript数据等效的PHP.

第二种方法(仅适用于GET请求)

GET数据被编码在URL中,因此另一种方法是将数据直接编码到PHP脚本的URL中. (请勿对敏感数据执行此操作.)

Javascript:

xhttp.open("GET", "PHPfile.PHP?x=2&y=3&z=4");

PHP

$x = $_GET["x"];
$y = $_GET["y"];
$z = $_GET["z"];

因为您似乎不清楚如何使用第一种方法发送多个变量:

如果要发送多个变量,请将其放入对象或数组(因为JSON.stringify()仅接受一个(数据)参数,而不用逗号分隔的参数列表).

// for example, to send the variables x, y, z
var xValue = 2;
var yValue = 3;
var zValue = 4;
xhttp.setRequestHeader('Content-type', 'application/json');
xhttp.send(JSON.stringify({ x: xValue, y: yValue, z: zValue }));

PHP

$data = json_decode($_GET);
echo $data->x;  // 2
echo $data->y;  // 3
echo $data->z;  // 4;

(免责声明:代码未经测试;我不确定是否将数据接收到$_GET变量中.在PHP接收JSON数据的变量上使用json_decode().)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐