2015-02-18 3 views
0

Я искал причину этой ошибки в течение последних двух часов, не в силах ее решить. Надеюсь, кто-то испытал ту же проблему и может помочь с лекарством.Угловая + Ионная Сообщение для запроса получение 404 не найдено

Я использую Ionic и Angular для создания простого приложения. Я запускаю локально с помощью Ionics ionic serve команда для создания простого сервера.

У меня есть простой index.html страницу, которая выглядит следующим образом:

... 
<body data-ng-controller="AppCtrl"> 
    <ion-header-bar class="bar-balanced"> 
     <h1 class="title ">Hello World!</h1> 
    </ion-header-bar> 
    <ion-content> 
     <h1>Some Content</h1> 
    </ion-content> 
</body> 
... 

и app.js файл, который был итерированным несколько раз и пытался различные электронные учебники, чтобы в конечном итоге с:

var App = angular.module("App", ["ionic"]); 

App.controller("AppCtrl", ["$scope", "$http" , AppCtrl]); 

    function AppCtrl($scope, $http) { 

     $http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded"; 

     var request = $http({ 
      method: 'post', 
      url: 'http://localhost:8100/php/login.php', 
      data: { "cat" : "henry" }, 
      headers : {"Content-Type": 'application/x-www-form-urlencoded'} 

     }).success(function (data, status, headers, config) { 
      console.log(data); 
     }).error(function (data, status, headers, config) { 
      console.log("login.php failed"); 
     }); 
    }; 

Моя проблема: заключается в том, что я получаю ошибку «404 Not Found» в моих почтовых запросах. Однако, когда я изменяю запрос на получение, он, похоже, отлично откликнулся на PHP-файл. Его простое эхо «Hello World!» php-файл.

На данный момент любая полезная информация будет принята с благодарностью. Спасибо!

+0

В каком браузере вы работаете? Вы пытались IE, Firefox или Chrome? – user86745458

+0

Вы уверены, что ваш сервер обрабатывает POST-запросы против '/ php/login.php'? – floribon

+0

Я пробовал Chrome, Mozzila и IE, и все ответили «login.php failed», что является результатом ошибки в моем HTTP-запросе. – Sokies

ответ

0

я получил подобный вопрос, и я этот сайт помог мне понять мою проблему:
http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/

По умолчанию:

JQuery передает данные с использованием Content-Type: х-WWW -форма-urlencoded.
AngularJS передает данные с использованием Content-Type: application/json.

К сожалению, некоторые языки веб-сервера, особенно PHP, не несериализуются изначально.

Мое решение было:
В моей .php я просто сделал json_decode в моем содержании

$ данных = json_decode (file_get_contents ('PHP: // ввод'), правда);

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