2015-02-15 1 views
0

Опытная проблема с URL-адресом AngularJS $ http.post. После заполнения почтовых запросов форма вместо ответа JSON вместо этого перенаправляется на 127.0.0.1:8000/api/forms/create. Бэкэнд-ответ выполняется с помощью Django Rest Framework. Это запрос COR. Форма angularJS размещена на порте 9000, вызывая вызов на порт 8000. Когда сервер выключен, вместо того, чтобы возвращать предупреждение об ошибке, он вместо этого возвращает страницу, которая не найдена, и URL снова перенаправляется на 127.0.0.1:8000/ апи/формы/создать. Цените любые советы.

Ниже приведен код контроллера для углового сценария:

'use strict'; 
angular.module('myApp') 
    .controller('DemoController', function ($scope, $http, DemoService, Tools) { 
    var form_submit = function() {$http.post("127.0.0.1:8000/api/forms/create", {name:$scope.applicant, date:$scope.date, address=$scope.address}).success(function(data){ alert(data); }) 
    .error(function(error){ 
    alert('something failed'); 
    })}; 
    }); 

Ниже index.html:

<!DOCTYPE html> 
    <head> 
    </head> 
    <body ng-app="myApp" ng-submit="form_submit()"> 
    <FORM action="http://127.0.0.1:8000/api/forms/create/" method="post"> 
    <INPUT type="text" ng-model="applicant" name="name"> 
    <INPUT type="text" ng-model="date" name="date"> 
    <INPUT type="text" ng-model="address" name="address"> 
    <INPUT type="submit" value="Send"> 
    </FORM> 
    </body> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.min.js"></script> 
    <script src="controllers/demo.js"></script> 
    </html> 

ответ

0

Вы пробоивали:

<FORM ng-submit="form_submit()"> 

вместо

<body ng-submit="form_submit()"> 

Он должен (надеюсь) оставить $ HTTP в фоновом режиме

+0

и Srujan Routhu прав: $ scope.form_submit = function() {...} – Manube

+0

Спасибо. Это был вопрос, который у меня был. Цените всю помощь всем. – Andy

1

Попробуйте добавить / слэш в конце URL POST (см настройки APPEND_SLASH для справки):

$http.post("127.0.0.1:8000/api/forms/create/"... 
0

ваш form_submit переменная в контроллере не переменная сфера.

Вместо использования

var form_submit 

изменить его на

$scope.form_submit 

Я думаю, что это будет работать.

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