Отправка данных из swift в node.js - PullRequest
0 голосов
/ 13 октября 2018

Я знаю, что это уже прошло, но я потратил на это часы и не могу понять, как отправить данные на сервер node.js ... Я запустил проект с использованием cloud9 и node.js, поэтому я знаю, что у меня хорошая установка и я начинаю с рабочего сайта.

В swift я отправляю почтовый запрос вроде

func post (){
    let url = URL(string: "https://the-game-stevens-apps.c9users.io/index.html/")!
    var request = URLRequest(url: url)
    request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Accept")
    request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
    request.httpMethod = "POST"
    let postString = "name=henry&message=HelloWorld"
    request.httpBody = postString.data(using: .utf8)
    let task = URLSession.shared.dataTask(with: request) { data, response, error in
        guard let data = data, error == nil else {
            print("error=\(error)")
            return
        }
        if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 {           // check for http errors
            print("statusCode should be 200, but is \(httpStatus.statusCode)")
            print("response = \(response)")
        }
        let responseString = String(data: data, encoding: .utf8)
        print("responseString = \(responseString)")
    }
    task.resume()
}

Затем в моем файле server.js у меня есть

  var router = express();
  router.use(express.urlencoded());
  router.post('/index.html', function(req, res) {
     var obj = {name:req.body.name,text:req.body.message};
  });

У меня большой опыт работы с javascriptно я нуб, когда дело доходит до node.js и только что возился с ним, любая помощь действительно ценится

1 Ответ

0 голосов
/ 13 октября 2018

Единственная часть, которую я могу исправить в вашем коде node.js:

Чтобы получить маршрутизатор, вам нужно вызвать express.Router ();

  const express = require('express');
  const router = express.Router();
  router.use((req,res,next) => {
      console.log("/" + req.method,  "host"+ req.host, "Params" + req.params);
      next();
  });

  router.post('/index.html', (req, res) => {
         const obj = {name:req.body.name,text:req.body.message};
        //insert obj into database
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...