2014-12-02 1 views
0

Я очень новичок в этом, так что это может быть просто моя неспособность кодировать. Я пытаюсь передать запрос контроллеру с помощью href.req.param undefined, потому что OriginalUrl в Express/Sails не принимает Orientdb @rid

href="/user/edit/<%= user.id %>" 
href="/user/edit/#12:0" 

где идентификатор пользователя из базы данных Orientdb. Пример формата @rid: # 12: 0

Когда я вывожу запрос на консоль, я вижу, что я получаю «пользователь/редактирование» в качестве оригинала. Кажется, это не похоже на символы # и:. Это ожидаемое поведение или что-то еще не так?

ответ

0

Я ничего не знаю о node.js, но, вероятно, это вызвано символом #, который является специальным символом в URL-адресе (fragment identifier). Используя API REST, вы не должны использовать хеш-символ, см. documentation

+0

спасибо за ваше предложение. это не сработало, но это поставило меня на правильный путь к решению вопроса. так что спасибо тебе. – dilzeem

+0

См. Документацию, http://www.orientechnologies.com/docs/last/orientdb.wiki/OrientDB-REST.html#document. Используя API REST, вы не должны использовать хеш-символ – rmuller

+0

Да, проблема была не в соединении с Orientdb, это были внутренние маршруты sailsjs и nodejs, которые вызывали проблему. – dilzeem

0

Я не смог полностью решить, но получил обходное решение, которое я доволен пока. Это включало в себя следующее.

href="/user/edit/<%= user.id.substring(1) %>" 

Это просто удаляет первый символ в строке. Затем я добавляю хэш позже, когда мне нужно искать вещи через user.id

Смежные вопросы