为了账号安全,请及时绑定邮箱和手机立即绑定

JS 发送 http请求问题

JS 发送 http请求问题

凤凰求蛊 2019-02-26 13:58:45
我想做的事情是在本地搭建的tomcat环境下,在一个http.html里发送一个post请求,post参数为'Hello lf',然后在111.html里写一个get请求,接收这个参数,为啥alert出来的是http.html的所有源码呢?代码如下:function test(msg){                var re = new XMLHttpRequest();                re.open('POST','111.html');                re.setRequestHeader('Content-Type','text/plain;charset=UTF-8');                re.send(msg);            }            test('hello lf'); 上面是在http.html的js代码里,下面代码是在111.html里function test(url){            var re = new XMLHttpRequest();            re.open('GET',url);            re.onreadystatechange = function(){                if(re.readyState === 4 && re.status === 200){                                alert(re.responseText);                }            };            re.send(null);        }        test('http.html');alert出来的是整个http.html里的代码,我想alert 的是hello lf,求教各位,是我哪理解错了吗
查看完整描述

3 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

你这是请求页面的所有数据 在111.html并不是执行alert(hello If)

你这种类似 请求本地的一个json然后把数据拿过来!


查看完整回答
反对 回复 2019-03-05
?
三国纷争

TA贡献1804条经验 获得超7个赞

你请求的就是http.html整个页面啊


查看完整回答
反对 回复 2019-03-05
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

你应该先去看看 http 协议:典型的 HTTP 会话
一次 http 会话先由客户端(浏览器)发起请求,然后服务器收到请求之后,根据请求内容返回客户端想要的数据,叫响应
一个请求由请求头请求正文等组成,urlget/post这些属于请求头的部分,请求正文就是你re.send方法发送的数据。
服务器收到请求后返回的响应同样有响应头响应正文,例如你re.status的值其实就是响应头里的 HTTP 状态码,re.responseText就是响应正文
为什么你会收到整个http.html页面,这是因为服务器返回的响应正文就是整个http.html页面,跟你 send 过去的东西没有任何关系。
如果你想收到的 send 过去的东西,你需要在服务器的代码里进行处理,让服务器返回你想要的响应内容。

查看完整回答
反对 回复 2019-03-05
  • 3 回答
  • 0 关注
  • 636 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号