я не могу получить из параметров в URL, который я передаю при изменении состояния в угловому (щ маршрутизатор):Получить URL из параметров Экспресс API от Angular UI-маршрутизатор
.state('contact.detail', {
url: '/:contactId',
templateUrl: 'detail.html',
controller: 'DetailController'
})
В курьерским Я определим API, но проблема заключается в получении параметра из URL-адреса, который я передал из ui router (выше).
server.js
var express = require('express');
var mysql = require('mysql');
var url = require('url');
var app = express();
app.use('/', express.static('../app'));
app.use('/bower_components', express.static('../bower_components/'));
var server = require('http').createServer(app);
var bodyParser = require('body-parser');
app.jsonParser = bodyParser.json();
app.urlencodedParser = bodyParser.urlencoded({ extended: true });
//mysql connection setup
var connection = mysql.createConnection({
host : "localhost",
port: "3306",
user : "root",
password : "",
database : "db",
multipleStatements: true
});
app.get('/:id', app.urlencodedParser, function(req,res){
var id = req.params.id;
console.log(id); // => :id instead of value
connection.query('SELECT * FROM contacts WHERE contactId = ?', [id], function (error, results) {
if(error) {
throw error;
}
else {
res.end(JSON.stringify(results));
}
});
});
server.listen(3000, function() {
'use strict';
});
В журнале я получаю ": идентификатор" вместо реальной стоимости, например, "".
я могу получить доступ к API вручную
принять Пожалуйста, посмотрите на plunker для состояний деталей.
Благодаря cshion, я не упомянул, что у меня есть HTTP позвонить с $ HTTP службы, и это выглядит следующим образом '$ http.get. ('/: идентификатор') успеха (функция (данные) { data.forEach (функция (строка, индекс) { $ scope.myData.push (данные); }); $ scope.gridOptions.data = данные; }) 'Когда я жестко переменный идентификатор в server.js до «45» (например), данные точно отображается на интерфейсе. Проблема заключается в получении этого значения (45) в API (server.js), когда я нажимаю (изменение состояния) на интерфейсе. – corry
вы передаете StateParams.contactId на вызов $ http, что-то вроде .. $ http.get (''/"" + $ stateParams.contactId). ? – cshion