2015-08-31 5 views
2

Я пытаюсь отправить форму с помощью angularJs с помощью метода $ http.post. Но всякий раз, когда я выполняю эту функцию, он дает мне эту ошибку: Не удалось загрузить ресурс: сервер ответил со статусом 405 (метод не разрешен) У меня нет понятия, что делать. (Im помощью Visual Studio 2015)Ошибка 405 (метод не допускается)

$scope.addRow = function() { 
     var parameter = JSON.stringify({ id: 99, first_name: $scope.firstName, last_name: $scope.lastName, email: $scope.email, country: $scope.country, phone_number: $scope.phoneNumber }); 
     $http.post('MOCK_DATA.json', parameter).success(function (data, status, headers, config) { 
      console.log(data); 
     }) 
+0

Первый параметр '$ http.post' - это URL, который вы хотите отправить. вы пытаетесь отправить сообщение непосредственно в файл? – Claies

+0

да, но я не знаю, что делать – Pmasterzz

ответ

2

У вас есть файл: 'MOCK_DATA.json'. Единственное, что вам разрешено делать с этим файлом, - это получить его от вашего клиента. (Http Verb 'GET').

Если вы хотите обновить этот файл, чтобы добавить значения, вы должны создать контроллер, который получит ваш объект. Внутри этого контроллера вам придется записывать новые строки в ваш файл.

+0

Я не понимаю, что вы имеете в виду. Я новичок во всем этом – Pmasterzz

+0

Веб-сайт, с данными, которые могут быть обновлены, требует интерфейса (то, что вы делаете с угловым, html, ...) и back-end. Внутренняя часть должна отвечать за обработку запросов переднего конца. Я предлагаю вам изучить основы C# и asp.net, если вы хотите, чтобы веб-сервер с Visual Studio. например: http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api –

0

Я думаю, что у меня часто возникала эта проблема, потому что параметры запроса, которые не проходят. Попробуйте что-то вроде этого:

$http({ 
    url: '/api/customers/GetFilteredList', 
    params: { 
     'lastName': lastName, 
     'firstName': firstName, 
     'address': address, 
     'town': town, 
     'zipCode': zipCode, 
     'skip': skip, 
     'take': take 
    } 
}); 
Смежные вопросы