在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ JS 發(fā)送 http請(qǐng)求問題

JS 發(fā)送 http請(qǐng)求問題

我想做的事情是在本地搭建的tomcat環(huán)境下,在一個(gè)http.html里發(fā)送一個(gè)post請(qǐng)求,post參數(shù)為'Hello lf',然后在111.html里寫一個(gè)get請(qǐng)求,接收這個(gè)參數(shù),為啥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出來的是整個(gè)http.html里的代碼,我想alert 的是hello lf,求教各位,是我哪理解錯(cuò)了嗎

回答
編輯回答
冷溫柔

你應(yīng)該先去看看 http 協(xié)議:典型的 HTTP 會(huì)話
一次 http 會(huì)話先由客戶端(瀏覽器)發(fā)起請(qǐng)求,然后服務(wù)器收到請(qǐng)求之后,根據(jù)請(qǐng)求內(nèi)容返回客戶端想要的數(shù)據(jù),叫響應(yīng)。
一個(gè)請(qǐng)求由請(qǐng)求頭、請(qǐng)求正文等組成,url,get/post這些屬于請(qǐng)求頭的部分,請(qǐng)求正文就是你re.send方法發(fā)送的數(shù)據(jù)。
服務(wù)器收到請(qǐng)求后返回的響應(yīng)同樣有響應(yīng)頭響應(yīng)正文,例如你re.status的值其實(shí)就是響應(yīng)頭里的 HTTP 狀態(tài)碼,re.responseText就是響應(yīng)正文。
為什么你會(huì)收到整個(gè)http.html頁面,這是因?yàn)榉?wù)器返回的響應(yīng)正文就是整個(gè)http.html頁面,跟你 send 過去的東西沒有任何關(guān)系。
如果你想收到的 send 過去的東西,你需要在服務(wù)器的代碼里進(jìn)行處理,讓服務(wù)器返回你想要的響應(yīng)內(nèi)容。

2017年8月18日 01:57
編輯回答
生性

你請(qǐng)求的就是http.html整個(gè)頁面啊

2017年1月23日 01:24
編輯回答
陌離殤

你這是請(qǐng)求頁面的所有數(shù)據(jù) 在111.html并不是執(zhí)行alert(hello If)

 你這種類似 請(qǐng)求本地的一個(gè)json然后把數(shù)據(jù)拿過來!
2017年11月13日 10:20