簡體   English   中英

Http Post請求在Angular js(1.5)中未成功

[英]Http Post request is not getting successful in angular js(1.5)

我正在用角JS(1.5)處理HTTP發布請求。

首先,我將請求數據傳遞給工廠方法。 調用Http post請求,並將響應發送回控制器。 但是我總是得到以下錯誤:

加載資源失敗:服務器響應狀態為404(未找到)

下面是我的控制器代碼:

app.controller("logicCtrl",['$scope','getDestinationService','getVehicleService','getTokenService','getResultService','$http', 
            function($scope, getDestinationService,getVehicleService,getTokenService,getResultService,$http){

        $scope.getResult = function(){

        var resultPromise = getResultService.getFinalResult($scope.request_data);

         resultPromise.then(function(result){
                $scope.result = result.data;
                console.log("result:"+$scope.result);
        });
      }
    });

這是我的工廠方法:

app.factory("getResultService",['$http','$q',function($http, $q){
    var getResultApi = "https://findfalcone.herokuapp.com/find";
    var headers = {'Accept' : 'application/json'};

    var getFinalResult = function(request_data){
        var deferred = $q.defer();
        var request_data = JSON.stringify(request_data);
        return $http({
        url: getResultApi,
        method: "POST",
        data: request_data,
        headers: {'Accept' : 'application/x-www-form-urlencoded'}
        }).then(function (response) {
             if (typeof response.data === 'object') {
                  deferred.resolve(response.data);
              } else {
                  deferred.reject(response.data);
              }
        }).catch(function(response) {
              return deferred.reject(response.data);
        });
        return deferred.promise;
    }; 
    return { getFinalResult: getFinalResult };

}]);

編輯:由於某些人直接在瀏覽器中點擊URL並說URL不起作用。 它不能以這種方式工作,因為它是后期呼叫,而不是呼叫。 我試過在郵遞員中測試此URL,它工作正常。 這是屏幕截圖:

在此處輸入圖片說明

getFinalResult您將Accept標頭覆蓋為application/x-www-form-urlencoded ,應為application/json 您沒有使用先前聲明的標頭變量。

免責聲明:我編寫了Finding Falcone后端應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM