javascript - 使用 Ajax 时,变量应该如何从 JavaScript 传递到 PHP?

标签 javascript php ajax

首先,我知道之前已经有人问过这个问题的变体。然而,在前面的所有示例中,问题的提出者一直在使用 Ajax,看起来像这样:

$.ajax({
    type: "POST",
    url: 'logtime.php',
    data: "userID=" + userID;
});

不过我对这种风格不太熟悉。我被教导的发出 Ajax 请求的方法是使用以下形式的代码:

var xhr = new XMLHttpRequest();
xhr.open("GET", "data.php");
xhr.send();

xhr.onreadystatechange = function() {
    if(xhr.readyState === 4) {
        //DEFINE CALLBACK FUNCTION
    }
}

那么,使用上面我熟悉的Ajax风格,数据应该如何发送到服务器由我的php文件data.php处理呢?我知道这与将其包含在 xhr.send() 括号中有关,但我不确定这是如何完成的?

此外,如果我们希望从数据库中检索数据,但必须向 php 提供一个变量以便它从数据库中选择正确的数据,可以使用 GET 方法吗?

最后,我所教的 Ajax 方法与我提到的另一种方法(我经常在 SO 上看到)有什么区别?

谢谢。

最佳答案

请尝试:

  `xhr.send('you_user=user&your_password=password');`

...或者可以使用更优雅的东西:

var d = new FormData();
d.append('you_user', 'user');
d.append('your_passowrd', 'password');
// ...
xhr.send(d);

关于javascript - 使用 Ajax 时,变量应该如何从 JavaScript 传递到 PHP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39472828/

相关文章:

javascript - 500 内部服务器错误 ajax/javascript

javascript - 无法重用SASS @mixin : Previous parameter value being used again

javascript - 在 React 功能组件中多次调用函数

javascript - 在(文档)内设置变量。准备好使用所有功能了吗?

javascript - 如何在不使用ajax的情况下发送POST请求

java - 从 mysql select 获取计数结果并解析到 TextView

php - 正则表达式匹配分号,但不在注释或引号中

asp.net - 如何在 HtmlEditorExtender 中设置图像上传位置并启用 sanitizer 在引用 3 个 dll 并编辑 web.config 后停止调试?

javascript - ajax 调用内的循环 - 我对事件的顺序感到困惑

php - APC __PHP_Incomplete_Class_Name