js用post上传数据到服务器,responseText返回错误

我的index.js代码是这样的:

目的是将一个随机数字符串上传到服务器上,然后console.log服务器的返回值。


var randomNum =  Math.floor(Math.random() * 5).toString();

        console.log(randomNum);

        var xhr = new XMLHttpRequest();  //创建XHR对象

        xhr.open("post","helloWorld.js");

        xhr.onreadystatechange = function() {

            if(xhr.readyState == 4) {

                if((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {

                    console.log("ok:"+xhr.status);

                    console.log(xhr.responseText);

                }else {

                    alert("Request was unsuccessful:" + xhr.status);

                }

            } //if

        };

        xhr.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");

        xhr.send(randomNum); 

然后我的运行在服务器上的node.js代码名为helloWorld.js是这样的:

目的是接收浏览器传来的随机数,然后返回“ok”


//引入模块

var http = require("http");

var url = require("url");

var querystring = require("querystring");

console.log("!!!");

//创建服务器

var server = http.createServer( function(request, response) {

        console.log("?????");

        console.log(request);

        var getData = "";

        request.on("data", function(chunk){ getData += chunk;});

        console.log(getData);

        //response.writeHeader(200,{"Content-Type":"text/javascript;charset=UTF-8"});

        response.write("ok");

        response.end();

});


//设置监听窗口

server.listen(3333,function(){

        console.log("Server running...");

});

当我打开网站的时候:

1.chorme的控制台输出如下:

第一行是我产生的随机数

第二行是console.log("ok:"+xhr.status);的输出

第三行是console.log(xhr.responseText);的输出,问题出在这里,没有返回“ok”,而是显示了服务器上的文件helloWorld.js的代码,这是为什么呢?如何显示正确的结果“ok”?

https://img.mukewang.com/5c9f23f000018bbc08000568.jpg

2.云服务器的控制台输出的结果如下:
这里甚至没有输出“????”,这个我也不知道是为什么。

https://img4.mukewang.com/5c9f23f20001afbb08000078.jpg

请求指教!十分感谢!


慕容森
浏览 519回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript