为什么我设置了setRequestHeader反而node接收不了
跟着老师学了后,发现2点问题老师没讲.作为基础课程,说实话.看完我还是不知道
需要给发送后端的接口怎么发送出去.
post的时候,为什么要发送setRequestHeader.
setRequestHeader的实际作用又是什么.完全不明白. 课程中只是说添加头.为什么添加头呢?
课程中对于ajax封装那节课,拼接的字符串只是GET需要,而post直接用send发送对象形式的数据形式,也是我问了一个我认识的前端小姐姐才知道的.....如果我不看node的教学关联一下前后端,估计不要说学完找工作,估计面试就被刷下来了.谈什么就业班
正在回答
emmm,一般在提交、或者是触发事件;
可以理解为是规定的,POST命令时,它还必须向服务器发送一个叫“Content-Length”的请求头(Request Header) 用以指明请求数据道的长度,除了Content-Length之外,它还可以向服务器发送其它一些Headers
setRequestHeader 的作用主要是:一个网络请求路由到目标机器后,目标机器总要知道它要请求什么,以什么编码方式传输,数据长度等信息,这是表头要表达的内容。
你是不是没有学过node呀,我建议先学一波再来研究,我看你这个代码涉及倒了跨域,解决不了哇~~~
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>表单</title>
<!-- <link rel="stylesheet" href="style.css"> -->
</head>
<body>
<header>
<h1>- - 账户信息 - -</h1>
</header>
<section>
<p>
<span>用户名:</span>
<input type="text" name='Name' autocomplete="off" placeholder='4-8位字母,数字,下划线组合'>
<span class="tishi A1">*必填</span>
</p>
<p>
<span>登陆密码:</span>
<input type="password" name='Pasword' autocomplete="off" placeholder='4-8位字母,数字,下划线,符号组合'>
<span class="tishi A2">*必填</span>
</p>
<p>
<input type="button" value="登录" name='denglu'>
</p>
<p>
<input type="button" value="注册" name='zhuce'>
</p>
</section>
<script>
//创建AJAX
function AJAX(url, method, async, data, functionName) {
//------------------------------处理数据------------------------------//
let str = '';
data = data || null;
if (data) {
for (let dataName in data) {
str += dataName + '=' + data[dataName] + '&';
}
str = str.replace(/&$/, '');
}
if (method == 'get' || method == 'GET') {
url += '?' + str;
}
//------------------------------创建TTP请求--------------------------//
let HTTP = new XMLHttpRequest();
HTTP.open(method, url, async);
// HTTP.setRequestHeader("Content-type", "application/x-www-form-urlencode");
HTTP.send(data);
//-------------------------------响应请求等--------------------------//
HTTP.onreadystatechange = () => {
//判断响应是否成功
if (HTTP.readyState == 4) {
//判断响应状态码
if (HTTP.status >= 200 && HTTP.status < 300 || HTTP.status == 304) {
//结果返回
functionName(JSON.parse(HTTP.responseText));
}
}
}
}
var 登录 = document.querySelector('[value=登录]');
var 注册 = document.querySelector('[value=注册]');
var userName = document.querySelector('[name=Name]');
var passWord = document.querySelector('[name=Pasword]');
登录.onclick = () => {
let data = {
name: userName.value,
wocao: passWord.value
};
let code;
AJAX('http://localhost:8888/login/', 'get', true, data, function datas(code) {
console.log(1111);
});
}
注册.onclick = () => {
console.log('我是注册');
}
</script>
</body>
</html>
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星