我创建了一个小应用程序,其中我使用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
有谁可以帮我解决这个帖子问题?
答案 0 :(得分:0)
这不会起作用,因为您直接发布到localhost上的insert.php文件。 Ionic框架要求PHP文件驻留在不同的位置,如果您使用绝对URL发布数据,它将起作用。当您在使用localhost时,这是解决方案:
在localhost的wamp/www
文件夹中创建另一个文件夹,并为其命名,例如:myapp
。将您的insert.php
文件放在此文件夹中。
现在将$http.post('insert.php',{'district':$scope.district})
更改为$http.post('http://localhost/myapp/insert.php',{'district':$scope.district})
就是这样!现在,当您尝试发布数据时,您现在会注意到insert.php
文件夹中的myapp
文件将正确运行。
尝试一下&amp;让我知道它是怎么回事。