【发布时间】:2017-04-09 01:43:00
【问题描述】:
我刚从前端开发训练营毕业,正在经历我的第一次技术测试。除了我希望得到一些意见的一个方面之外,这一切似乎都非常简单。我不太确定公司在这里问什么,想知道是否有人可以更好地解释它?
我将使用 HTML 和 CSS 重新创建网页的个人资料部分(姓名、电子邮件等),我知道该怎么做。有一个 JavaScript 组件涉及我很困惑的 HTTP POST 请求。有执行配置文件部分更改的后端 API。
我没有得到 AJAX 调用的 URL,而是提供了以下说明:“可以注释掉进行 AJAX 调用的实际行。简单地假设您将收到 200 响应以空字符串作为正文。假设 csrf_token 为 #####"。我得到了数字,但我忽略了它们。此外,还有这一行:“后端 API 接受带有 application/x-www-form-urlencoded 正文的 POST 请求”。
在我的训练营中,我没有做过任何 POST 请求,只有 GET。有没有人能够就这个问题的确切要求提供一些指导?我的第一步是使用 POSTMAN,但没有 URL,不知道该怎么做。
编辑:
从各种谷歌搜索这些请求是如何提出的,到目前为止,我已经想出了下面的代码,但仍然缺少很多(可能)。这个想法是,如果用户要输入新电子邮件(或新名称、密码等),则会发出 POST 请求以进行此更新。
我被告知我不允许在这个测试中使用任何 jQuery,所以我一直在尝试学习如何仅在 JavaScript 中执行此操作。另外,我也不确定 csrf_token 是从哪里来的。
var xhr = new XMLHttpRequest();
var url = /* URL */;
var params = ;
xhr.open('POST', url, true);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.setRequestHeader('Content-length', params.length);
xhr.setRequestHeader('Connection', 'close');
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
alert(xhr.responseText);
}
};
xhr.send(params);
【问题讨论】:
标签: api post xmlhttprequest csrf content-type