我刚从一个前端开发训练营毕业,正在经历我的第一次技术测试。除了我希望得到一些意见的一个方面之外,这一切似乎都很简单。我不太确定公司在这里问什么,并且想知道是否有人能够更好地解释它?
我将使用HTML和CSS重新创建网页的个人资料部分(姓名,电子邮件等),我知道该怎么做。有一个涉及HTTP POST请求的JavaScript组件,我很困惑。有后端API执行配置文件部分的更改。
我没有给出AJAX调用的URL,而是提供了以下指令:“可以注释掉实现AJAX调用的实际行。假设您将获得200响应,空字符串作为正文。假设csrf_token为#####“。我已经提供了数字,但省略了它们。此外,还有这一行:“后端API接受带有application / x-www-form-urlencoded body的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);
答案 0 :(得分:0)
我的理解是,您实际上不必提出请求,只能在代码中准备就绪,可能会被注释掉。您的代码应该有一个硬编码的200 OK"响应"来自具有空体的API,表明更改配置文件有效。因此,实际发出请求的一行可以替换为请求结果的模拟对象之类的东西,你可以使用它(但文本说反应是空的,所以你不需要嘲笑很多)。
我认为您的代码仍应显示(在评论中,或在实际注释请求之前的请求设置行中)如何发出请求,如何传递csrf令牌,如何设置内容 - 如果需要做任何事情(可能不是),请application/x-www-form-urlencoded
的请求类型,以及如何以该格式传递参数。