Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.11.2018, 15:39
Интересующийся
Отправить личное сообщение для wwIOPUCTww Посмотреть профиль Найти все сообщения от wwIOPUCTww
 
Регистрация: 16.08.2018
Сообщений: 11

аналог document.getElementById в Node.JS
В html есть код <div id="content">Выделим этот элемент</div>, его мне нужно использовать в Node, а именно воткнуть содержимое в переменную. Код скрипта var elem = document.getElementById('content') работает только в ДжаваСкрипт. Подскажите, или ссылку на урок пришлите.
Для примера написал код создания папки по нажатию на кнопку, с именем которое должен ввести пользователь.

server.js
var express = require('express')
var app = express()

function reid() {
    var fs = require('fs')
    var newR = document.getElementById('peremennay').value
    fs.mkdirSync(newR)
}

app.get('/', function (req, res) {
    res.sendFile(__dirname + '/index.html')
})

app.get('/createDirectory', function (req, res) {
    try {
        reid()
        res.send(JSON.stringify({ created: 'success' }))
    } catch (erorr) {
        res.send(JSON.stringify({ created: 'failed' }))
    }
})

app.listen(4000, function () {
    console.log('started at http://localhost:4000')
})


index.html
<html>

<head>
    <script>
        document.addEventListener('DOMContentLoaded', function () {
            document.getElementById('createDirectory').addEventListener('click', function(e) {
                fetch('/createDirectory').then(r => r.json()).then(r => {
                    alert(r.created)
                })
            })
        })
    </script>
</head>

<body>
    <h1>Expressed</h1>
    <hr/>
    <div id="status"></div>
    <hr/>
    <textarea name="" id="peremennay" cols="30" rows="10">Введите название папки</textarea>
    <button id="createDirectory">Создать папку</button>
</body>

</html>


Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 30.11.2018, 16:31
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

оп оп, узнаю свои писули )...
server.js
var express = require('express')
var app = express()
var fs = require('fs')
var path = require('path')

app.get('/', function (req, res) {
  res.sendFile(path.join(__dirname, '/index.html'))
})

app.get('/createDirectory/:dirname', function (req, res) {
  try {
    fs.mkdirSync(path.join(__dirname, req.params.dirname))
    res.send(JSON.stringify({ created: 'success' }))
  } catch (error) {
    res.send(JSON.stringify({ created: `failed ${error.message}` }))
  }
})

app.listen(4000, function () {
  console.log('started at http://localhost:4000')
})


index.html
<html>

<head>
  <script>
    document.addEventListener('DOMContentLoaded', function () {
      document.getElementById('createDirectory').addEventListener('click', function (e) {
        fetch(`/createDirectory/${document.getElementById('dirname').value}`).then(r => r.json()).then(r => {
          alert(r.created)
        })
      })
    })
  </script>
</head>

<body>
  <h1>Expressed</h1>
  <hr />
  <div id="status"></div>
  <hr />
  <input id="dirname" placeholder="Введите название папки" type="text" />
  <button id="createDirectory">Создать папку</button>
</body>

</html>


чтобы POST засылать, надо в fetch указать method, и на стороне сервера нужен bodyparser...
Ответить с цитированием
  #3 (permalink)  
Старый 30.11.2018, 18:14
Интересующийся
Отправить личное сообщение для wwIOPUCTww Посмотреть профиль Найти все сообщения от wwIOPUCTww
 
Регистрация: 16.08.2018
Сообщений: 11

Спасибо! Работает!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
netBeans и node.js s_baklanov Node.JS 1 03.11.2016 11:32
Взаимодействие клиентской части с Node.js Henguys Node.JS 5 10.06.2016 07:04
Недопонимание философии Node.js Voronar AJAX и COMET 10 25.02.2013 14:00
Востребованность разработчиков на Node.js danik.js AJAX и COMET 7 08.12.2012 22:49
Node.js Kolyaj Серверные языки и технологии 49 24.05.2010 22:29