2017-08-23 106 views
0

嗨,大家我已經試圖做一個休息的API請求(其餘的API是寫在節點js和我的前端是在angularjs)基於一組權限名稱,而不是他ID。我只是有組的名稱,我需要做一個API請求來獲得id來執行基於id的更新選項。http獲取請求與奇怪的字符 t在url

我正在做一個GET請求一樣

/api/organization_permissions_groups/getPermissionGroupId/?permissionGroup=Monitor%09%09%09%09%09%09%09%09 

而且我得到這個%09%09%09%09%09%09%09%09的錯誤500的原因。

有沒有辦法刪除?在nodej中,這部分被視爲Monitor\t\t\t\t\t\t\t\t

orgnizationsController(角JS - 客戶端)

$scope.navigateToViews = function() { 
    var btn = event.currentTarget;   
     groupName = btn.parentNode.parentElement.innerText; 

    if(groupName!=null){ 
     console.log("groupName ",groupName); 
     $http.get('/api/organization_permissions_groups/getPermissionGroupId/', 
        {params: {permissionGroup: groupName}}) 
      .success(function (data) { 
      if(data!=undefined && data != null){ 
       $rootScope.groupId=data; 
       console.log("controllerScope.id ",$rootScope.groupId); 
      } 
     }); 
    } 

    console.log("controllerScope.id views ",$rootScope.groupId); 
    $state.go('app.organizationViews'); 

} 

以我爲RESTAPI我OrganizationPermissionsGroupsController.js有

OrganizationPermissionsGroupsController.prototype.setRoutes = function (express) { 
    var router = express.Router(); 

router.route('/getPermissionGroupId/') 
     .get(passport.authenticate('jwt', {session: true}) this.getOrganizationPermissionsGroupByName); 
} 

    OrganizationPermissionsGroupsController.prototype.getOrganizationPermissionsGroupByName = function (req, res, next) { 


createLog('info', __dirname, __filename.slice(__dirname.length + 1, -3), null, 'getOrganizationPermissionsGroupByName', 'inicio'); 

var data = req.query.permissionGroup.toString(); 
createLog('debug', __dirname, __filename.slice(__dirname.length + 1, -3), null, 'getOrganizationPermissionsGroupByName', 'data 1', data); 

var replaced=data.toString().replace('\t', ''); 
if (isEmptyObject(replaced)) { 
    res.status(400).send({error: errorMessage.emptyBody}); 
    return; 
} 

createLog('debug', __dirname, __filename.slice(__dirname.length + 1, -3), null, 'getOrganizationPermissionsGroupByName', 'data 2', replaced); 
Database.OrganizationPermissionsGroups.getOrganizationPermissionsGroupById(replaced).then(function (groupId) { 
    if (groupId.length == 0) { 
     res.status(404).end(); 
    } else { 
     res.status(200).send(groups[0]); 
    } 
}).catch(function (e) { 
    createLog('error', __dirname, __filename.slice(__dirname.length + 1, -3), null, 'getOrganizationPermissionsGroupByName', e); 
    res.status(500).send(e); 
}); 

    } 

日誌:

2|wscontro | [2017-08-23 17:38:40.326] - info: /opt/wscontroller/wscontroller-api/routes/organization_permissions_groups OrganizationPermissionsGroupsController NA getOrganizationPermissionsGroupByName inicio 
2|wscontro | [2017-08-23 17:38:40.327] - debug: /opt/wscontroller/wscontroller-api/routes/organization_permissions_groups OrganizationPermissionsGroupsController NA getOrganizationPermissionsGroupByName data 1 "Monitor\t\t\t\t\t\t\t\t" 
2|wscontro | [2017-08-23 17:38:40.328] - debug: /opt/wscontroller/wscontroller-api/routes/organization_permissions_groups OrganizationPermissionsGroupsController NA getOrganizationPermissionsGroupByName data 2 "Monitor\t\t\t\t\t\t\t" 
2|wscontro | [2017-08-23 17:38:40.329] - info: /opt/wscontroller/wscontroller-api/routes/organization_permissions_groups OrganizationPermissionsGroupsDatabase NA getOrganizationPermissionsGroupById inicio 
2|wscontro | [2017-08-23 17:38:40.337] - error: /opt/wscontroller/wscontroller-api/routes/organization_permissions_groups OrganizationPermissionsGroupsDatabase NA getOrganizationPermissionsGroupById { error: invalid input syntax for uuid: "Monitor      " 

回答

0

使用trim() method

$scope.navigateToViews = function() { 
    var btn = event.currentTarget;   
    var groupName = btn.parentNode.parentElement.innerText; 
    groupName = groupName.trim(); 
0

此行之後

if(groupName!=null){ 

你應該用''替換\ t。

groupName=groupName.replace('\t', ''); 
+0

它好好嘗試一下工作..似乎仍然/ API/organization_permissions_groups/getPermissionGroupId/permissionGroup =監控%09%09%09%09%09%09%? 09%09我在clientSide和 2 | wscontro | [2017-08-23 16:43:42.131] - debug:/ opt/wscontroller/wscontroller -api/routes/organization_permissions_groups OrganizationPermissionsGroupsController NA getOrganizationPermissionsGroupByName data「Monitor \ t \ t \ t \ t \ t \ t \ t \ t」在console.log(「groupName」,groupName)中不存在服務器端(節點) –

+0

中的 ;之後做了改變? –

+0

不,它只是存在於我的http.get url和我的後端req.query.permissionGroup中明白嗎? –