我刚刚从一个前端开发训练营毕业,正在经历我的第一次技术测试。这一切似乎都很简单,除了一个方面,我希望得到一些意见。我不太确定公司在这里问的是什么,我想知道是否有人可以更好地解释它?
我要重新创建配置文件部分(名称、电子邮件等)一个HTML和CSS的网页,我知道怎么做。有一个涉及HTTP POST请求的JavaScript组件,我对此感到困惑。有一些后端API可以执行配置文件部分的更改。
我没有得到AJAX调用的网址,而是得到了以下指令:“可以注释掉进行AJAX调用的实际行。简单地假设您将得到200个响应,主体为空字符串。假设csrf_token为#####”。我已经得到了这些数字,但我把它们省略了。此外,还有这一行:“后端API接受POST请求with application/x-www-form-urlencoded body”。
在我的训练营中,我没有做任何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);
发布于 2016-11-25 07:34:59
我的理解是,你实际上不必发出请求,只需在代码中准备好它的位置,可能会将其注释掉。您的代码应该具有来自API的硬编码200OK“响应”,其中包含一个空的正文,表示更改配置文件起作用了。因此,实际发出请求的一行可以替换为请求结果的mock对象,您可以使用它(但文本显示响应无论如何都是空的,所以您不需要大量的mock )。
我认为您的代码仍然应该显示(在注释中,或在实际注释掉的请求之前的请求设置行中)您将如何发出请求,如何传递csrf令牌,如何在需要执行任何操作(可能不需要)时将请求的内容类型设置为application/x-www-form-urlencoded
,以及如何以该格式传递参数。
https://stackoverflow.com/questions/40791720
复制相似问题