无法POST数据 - Ionic Framework

时间:2015-07-22 08:24:17

标签: cordova ionic-framework ionic

我创建了一个小应用程序,其中我使用php mysql在数据库中发布一个字段名称区 - 我的app.js文件有代码 -

angular.module('todo', ['ionic'])
.controller('TodoCtrl', function($scope,$http) {
$scope.insertdata = function(){
console.log($scope.district);
$http.post('insert.php',{'district':$scope.district})
.success(function(data)
{
console.log("Done");
})
} });

和index.html有

<body ng-app="todo" ng-controller="TodoCtrl">
<form>
<input type="text" ng-model="district"/>
<input type="button" value="submit" ng-click="insertdata()"/>
</form>

和insert.php有:

$data = json_decode(file_get_contents("php://input"));
$districtname = mysql_escape_string($data->district);
mysql_connect("localhost","root","");
mysql_select_db("test");
mysql_query("Insert into districtapp (districtname) Values ('".$districtname."')");

我已经安装了codova白名单并添加了这些行:

<access origin="*"/>
<allow-navigation href="http://*/*" />
<allow-navigation href="https://*/*" />
<allow-navigation href="data:*" />

我通过离子服务运行应用程序并获取:

错误:POST http://192.168.2.152:8100/insert.php 404 Not Found

有谁可以帮我解决这个帖子问题?

1 个答案:

答案 0 :(得分:0)

这不会起作用,因为您直接发布到localhost上的insert.php文件。 Ionic框架要求PHP文件驻留在不同的位置,如果您使用绝对URL发布数据,它将起作用。当您在使用localhost时,这是解决方案:

  1. 在localhost的wamp/www文件夹中创建另一个文件夹,并为其命名,例如:myapp。将您的insert.php文件放在此文件夹中。

  2. 现在将$http.post('insert.php',{'district':$scope.district})更改为$http.post('http://localhost/myapp/insert.php',{'district':$scope.district})

  3. 就是这样!现在,当您尝试发布数据时,您现在会注意到insert.php文件夹中的myapp文件将正确运行。

    尝试一下&amp;让我知道它是怎么回事。