2015-12-08 40 views
1

你好我試圖插入一個一行英里表,但總是得到這樣的問題:信息[對象%20Object] 404個找不到angularjs

POST URL/API/presentaciones/[對象%20Object] 404(未找到)

嗯,我有一個表格和NG-提交= 「savePresentacion」 在礦井控制器:在presentacionService

.controller('newPresentacionController', function ($scope, Presentacion, Categoria) { 
      $scope.categorias ={}; 
      var vm = this; 
      var presentacionData = {}; 
      $scope.savePresentacion = function() { 
       presentacionData = { 
        nombre : $scope.nombre, 
        descripcion : $scope.descripcion, 
        tipo_presentacion : $scope.tipo_presentacion, 
        usuarios_id : $scope.usuarios_id, 
        categorias_id: $scope.categorias_id, 
        longitude: self.myMarker.position.lng(), 
        latitud: self.myMarker.position.lat(), 
        zoom: 13 
       }; 
       Presentacion.crearPresentacion(presentacionData).success(function (datos) { 

       }); 
      }; 
} 

有這樣的:

(function() { 
    angular.module('presentacionService', []) 
     .factory('Presentacion', function ($http) { 
      var presentacionFactory = {}; 
      presentacionFactory.crearPresentacion = function(presenData) { 
       console.log(presenData); 
       return $http.post('/api/presentaciones/' + presenData); 
      }; 
      return presentacionFactory; 
     }); 
})(); 

之後就給出了這個問題。我做了更多的2表和沒有問題只是有這個部分的問題。

回答

4

[object Object]是默認呈現JavaScript對象的方式。您的console.log(presenData)將同樣輸出[object Object]

鑑於您將presenData定義爲JSON對象,我猜想您希望在您的POST中完整地傳遞該對象。

更改此:

return $http.post('/api/presentaciones/' + presenData); 

這樣:

return $http.post('/api/presentaciones/', presenData); 

注意逗號。這將通過presenData JSON對象作爲請求的主體。

我還會將日誌語句更改爲console.log(JSON.stringify(presenData)),這會將JSON表示呈現給控制檯。

+0

是啊,現在工作感謝兄弟,真的沒有看到它。 2天工作我是 累了。 – CoolLife

0

你的問題是你的presenData是一個對象。當你將它追加到這樣的字符串中時: '/api/presentaciones/' + presenData

JavaScript正在將對象轉換爲字符串,該字符串由[object Object]表示。

您需要確定presenData上的哪個屬性表示您嘗試訪問的端點。例如,如果presenData具有.id,則您希望將該字符串附加到.id參數。