Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何简单地在服务器端节点JS中创建onClick事件?_Javascript_Node.js_Webserver - Fatal编程技术网

Javascript 如何简单地在服务器端节点JS中创建onClick事件?

Javascript 如何简单地在服务器端节点JS中创建onClick事件?,javascript,node.js,webserver,Javascript,Node.js,Webserver,我只是想测试一下 例如,下面是节点JS中的服务器代码 正如我在下面提到的,我希望正确而简单地创建onclick事件 因为它只是用于客户端的测试 如何解决?这样使用是错误的吗 http.createServer((request, response) => { return request .on('error', (err) => { console.error(err); }) .on('data', (data) => { //da

我只是想测试一下

例如,下面是节点JS中的服务器代码

正如我在下面提到的,我希望正确而简单地创建onclick事件

因为它只是用于客户端的测试

如何解决?这样使用是错误的吗

 http.createServer((request, response) => {
  return request
  .on('error', (err) => { 
    console.error(err);
  })
  .on('data', (data) => { 
      //data exists

    }).
  on('end',()=>{
    response.statusCode = 200; 
    response.writeHead(200, {'Content-Type':'text/html'});
    response.write('<html>'); 

    response.write('<h1> List</h1>'); 
    response.write('<button onclick="sendToServer(data)">submit</button>'); <--this line
    //I want to make onclick event for above 
    //but it excutes even user didnt click the button
    response.write('</html>'); 
   });
}).listen(3030);


function  sendToServer(data){
   request.post({
        headers: {
                  'Accept': 'application/json, text/plain, */*',
                  'Content-Type': "application/json"
                  },
            url:'https://...',
            body:JSON.stringify(data)
            }, function(e, r, body){
              console.log(body);
      });
 }
http.createServer((请求、响应)=>{
退货申请
.on('error',(err)=>{
控制台错误(err);
})
.on('data',(data)=>{
//数据存在
}).
在('end',()=>{
response.statusCode=200;
writeHead(200,{'Content-Type':'text/html'});
回答。写(“”);
写(‘列表’);
回复。填写(“提交”);
  • 您需要在服务器端为侦听客户端请求实现http路由

  • 在客户端生成向服务器发送请求的函数(我使用了简单的jquery-ajax-get方法)

  • 最后的工作代码在这里

    var http=require('http');
    var HttpDispatcher=require('HttpDispatcher');;
    var dispatcher=newhttpdispatcher();
    http.createServer((请求、响应)=>{
    退货申请
    .on('error',(err)=>{
    控制台错误(err);
    })
    .on('data',(data)=>{
    //数据存在
    }).
    在('end',()=>{
    调度(请求、响应);
    });
    }).听(3030);
    dispatcher.onGet(“/”,函数(请求、响应){
    response.statusCode=200;
    writeHead(200,{'Content-Type':'text/html'});
    回答。写(“”);
    回答。写(“”);
    write('function sendToServer(){$.ajax(“/route”).done(function(data){alert(data);});}');
    写(‘列表’);
    回复。填写(“提交”);
    回答。写(“”);
    response.end();
    });
    dispatcher.onGet(“/route”),函数(请求、响应){
    response.end(“服务器响应!!!”;//在此处调用任意服务器端函数
    });