问题描述
1.前端请求:
var obtn = document.getElementById(’btn’);//按钮button var oh = document.getElementById(’h’);//标题h var xmlhttp = new XMLHttpRequest();obtn.onclick = function() {xmlhttp.open('get', 'xxxx', true);xmlhttp.send(); };xmlhttp.onreadystatechange = function() {if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { oh.innerHTML = xmlhttp.responseText;} }
2.node.js原生
var http = require(’http’); .....http.createServer(function(req, res) { ....... if (url.pathname == ’xxxx’) {res.end('收到请求'); }}).listen(8000, function() { console.log(’server on 8000 port’);})
点击button后发送请求,后台判断url做出相应的操作(在这里是将 h1的innerHTML更改为“收到请求”)。
我并没有使用到xxxx文件,所以请问这个xxxx文件在这是个什么作用呢?
问题解答
回答1:url.pathname 是请求资源路径, 跟你服务器上有没有这个资源没有关系
首先一个urlhttp://www.baidu.com:8000/hello?q=sss可拆分成好些组成部分, 如:protocol http://hostwww.baidu.comport8000pathname /helloquery ?q=sss等等
正好你访问的是 http://localhost:8000/xxxx
说明你请求的pathname便是 /xxxx , 想要返回什么内容, 随你的代码设定
不要把思维限定在服务器上是否有文件资源, 这可以协定为一个暗号, 请求土豆返回西红杮
对于wsgi的概念你的路还很长, 建议你直接看express教程
回答2:你这里的xxxx只是path路径而已,他不是一个文件,一个url的path。
回答3:xxx是你这个请求要发送的地址,就往你那个node起来的端口 8000发送