2017-01-18 9 views
0

Я использую mithril.js для подключения к моему узлу. Я следил за добавлением документации в запрос AJAX, и небольшая документация по mithril в другом месте.Ошибка AJAX: 400 Неверный запрос

В любом случае, ошибка:

mithril.js:2130 POST http://localhost:3000/api/stocks 400 (Bad Request) 
ta @ mithril.js:2130 
ua @ mithril.js:2138 
k.request @ mithril.js:2227 
vm.add @ app.js:24 
(anonymous) @ mithril.js:1246 
mithril.js:2197 Uncaught SyntaxError: Unexpected token < in JSON at position 0 
    at parse (<anonymous>) 
    at Object.a.onload.a.onerror (mithril.js:2197) 
    at XMLHttpRequest.d.onreadystatechange (mithril.js:2102) 
a.onload.a.onerror @ mithril.js:2197 
d.onreadystatechange @ mithril.js:2102 

mithril.js

vm.add = function() { 
      var data = vm.symbol(); 
      if (vm.symbol()) { 
       m.request({method: 'POST', 
          url: '/api/stocks', 
          data: data, 
          unwrapSuccess: function(response) { 
           return response.data; 
          }, 
          unwrapError: function(response) { 
           return console.log(response.error); 
           } 
          }); 
       vm.list.push(new app.Stock({symbol: vm.symbol()})); 
       vm.symbol(""); 
      } 
     }; 

маршруты/index.js (узел)

router.post('/api/stocks', function(req, res) { 
    Stocks.create({ 
    stock: req.body.text, //stocks 
    date_added: new Date(), //Date 
    }, function (err, stocks) { 
    if (err) { 
     res.send(err); 
    } else { 
     Stocks.find(function(err, stocks) { 
     if (err) { 
      res.send(err); 
     } else { 
      res.json(stocks); 
     } 
     }); 
    }; 
    }); 
}); 

Любые идеи?

спасибо.

+0

Вы можете разместить здесь свою полезную информацию? –

ответ

1

Проблема была вызвана тем, что Мифрил автоматически предполагает, что данные будут в JSON. Я пытался отправить обычный текст. У Мифрила есть метод, называемый «десериализацией».

Deserialize не работает, поэтому я снова посмотрел и выразил не понравился тот факт, что не было JSON, поэтому я преобразовал данные в JSON, а затем запрос POST работал нормально.