首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用AJAX从普通JavaScript到PHP值

使用AJAX从普通JavaScript到PHP值
EN

Stack Overflow用户
提问于 2018-08-18 08:17:03
回答 1查看 2.1K关注 0票数 3

我想知道如何使用ajax和vanilla javascript向php发送一些东西。我问你是因为我刚刚找到了jQuery解决方案。

我知道,如果我想收到一些东西,它应该是这样的:

代码语言:javascript
复制
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();

有人可以解释或者把我送到解决方案,因为我找不到任何东西。

EN

回答 1

Stack Overflow用户

发布于 2018-08-18 08:49:19

First方法

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

代码语言:javascript
复制
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:

代码语言:javascript
复制
xhttp.open("GET", "phpfile.php?x=2&y=3&z=4");

PHP:

代码语言:javascript
复制
$x = $_GET["x"];
$y = $_GET["y"];
$z = $_GET["z"];

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

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

代码语言:javascript
复制
// 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:

代码语言:javascript
复制
$data = json_decode($_GET);
echo $data->x;  // 2
echo $data->y;  // 3
echo $data->z;  // 4;

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51904221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档