Angular + Ionic Post请求未找到404

时间:2015-02-18 04:12:11

标签: javascript angularjs http-post ionic

我已经搜索了这个错误背后的原因,过去几个小时无法解决。希望有人遇到同样的问题,并能够帮助解决问题。

我正在使用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”错误。但是,当我更改为get请求时,它似乎回复PHP文件就好了。它是一个简单的回声“Hello World!” php文件。

此时,我们将非常感谢任何有用的信息。谢谢!

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,我这个网站帮助我理解了我的问题:
http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/

  

默认情况下:

     

jQuery 使用Content-Type传输数据:   的X WWW窗体-urlencoded。
   AngularJS 使用Content-Type传输数据:   应用/ JSON。

     

不幸的是,一些Web服务器语言,特别是PHP,没有   本地地反序列化。

我的解决方案是:
在我的.PHP中,我刚刚在我的内容中做了一个JSON_DECODE

$ data = json_decode(file_get_contents('php:// input'),true);