2015-07-22 15 views
0

Я создал небольшое приложение, в котором я отправляю только один район имя поля в базе данных с помощью PHP MySQL - мой app.js файл имеет код -не могут размещать данные - Ионные Framework

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

Можете ли вы получить доступ к URL-адресу в своем браузере? Или вы можете ПОСТ к нему с завитом? – 23tux

+0

yes i can @ 23tux –

+0

Включили ли вы плагин с белым списком? https://github.com/apache/cordova-plugin-whitelist – 23tux

ответ

0

Это не будет работать, поскольку вы прямо отправляете файл insert.php на localhost. Ионная структура ожидает, что файл PHP будет находиться в другом месте, и он будет работать, если вы используете абсолютные URL-адреса для публикации данных. Как вы работаете на локальном хосте, вот решение:

  1. Создать новую папку в папке wamp/www в вашем локальном хосте, и назовите его как угодно, например: myapp. Поместите файл insert.php в эту папку.

  2. Теперь измените $http.post('insert.php',{'district':$scope.district}) на $http.post('http://localhost/myapp/insert.php',{'district':$scope.district})

Вот оно! Теперь, когда вы попытаетесь опубликовать данные, вы заметите, что файл insert.php в папке myapp будет работать правильно.

Пробег & дайте мне знать, как это происходит.

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