1
lianyue 2019-11-18 01:46:00 +08:00 1
|
2
morethansean 2019-11-18 01:55:32 +08:00
@lianyue #1
而且他连 send 都没 send 就开始读返回值了... |
3
lihongming 2019-11-18 01:57:24 +08:00 via iPhone
用 fetch...then 吧,比较容易理解
|
4
suisetai OP @lianyue
我是按书上的例子 function getNewContent(){ var request=getHTTPObject(); if(request){ request.open("GET",'example.txt', true ); request.onreadystatechange=function(){ if(request.readyState == 4){ alert('Response Received'); var para = document.createElement('p'); var txt = document.createTextNode(request.responseText); para.appendChild(txt); document.getElementById('new').appendChild(para); } }; request.send(null); } else{ alert('Sorry, your browser doesn\'t support XMLHttpRequest '); } alert('Function Done'); } 能正常弹出 Function Done 和 Response Received 但是 responseText 的值总是 null。。。。 js 萌新 见谅 |
5
rabbbit 2019-11-18 02:20:21 +08:00 1
给个栗子自己研究吧...
var xml = new XMLHttpRequest() xml.open('GET', 'https://jsonplaceholder.typicode.com/todos/1') xml.onreadystatechange = function () { if (xml.readyState === 4) console.log(xml.responseText) } xml.send() |
6
suisetai OP @rabbbit
好像是我把文件放本地的原因 用 http 协议 就可以了 。。 XMLHttpRequest 用于同 HTTP 和 HTTPS 协议一起工作。 理论上,它能够同 FTP 这样的其他协议一起工作,但比如请求方法和响应状态码等部分 API 是 HTTP 特有的。 如果从本地文件中加载网页,那么该网页中的脚本将无法通过相对 URL 使用 XMLHttpRequest,因为这些 URL 将相对于 file://URL 而不是 http://URL。而同源策略通常会阻止使用绝对 http://URL。 结果是当使用 XMLHttpRequest 时,为了测试它们通常必须把文件上传到 Web 服务器或者运行一个本地服务器。 |
7
sunziren 2019-11-18 08:45:22 +08:00
这是传说中的老式 Ajax?
|