2016-07-29 8 views
0

Ajaxを使用してデータベースに接続する際に問題が発生しましたが、.phpファイルも実行されませんでした。データベースとajaxをphpに接続する際に問題が発生しました

XMLHTTP = XMLHttpRequestの{readyStateの:私は

http://local.testing.info/connections/getTag.php?q=a 404デバッグの下で

( が見つかりません)GETこれは誤りであるコンソールの下にチェックしたい1、タイムアウト:0 、withCredentials:偽、アップロード:XMLHttpRequestUpload、responseURL: "" ...}

は、以下の私のCです頌歌

HTML:

<div> 
    <form> 
     <div> 
      <input type="text" ng-model="person.name" placeholder="Name"> 
     </div> 
     <div> 
      <input type="text" ng-model="person.age" placeholder="Age"> 
     </div> 
    </form> 
</div> 
{{data}} 

JS

test.controller('formController', function($scope) { 

    $scope.$watchCollection('person', function(newVal){ 
     if (window.XMLHttpRequest) { 
      var xmlhttp=new XMLHttpRequest(); 
     } else { 
      var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 

     xmlhttp.onreadystatechange=function() { 
      if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
      $scope.data = xmlhttp.responseText; 
      } 
     } 

     xmlhttp.open("GET","getTag.php?q="+newVal.name,true); 
     xmlhttp.send(); 
    }); 
} 

PHP:

$q=$_GET["q"]; 

$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password="123"; // Mysql password 
$db_name="testing"; // Database name 

// Connect to server and select databse. 
$link = mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name",$link)or die("cannot select DB"); 


$sql="SELECT * FROM testing.people WHERE name = '".$q."'"; 

$result = mysql_query($sql); 

$row = mysql_fetch_array($result); 

$name =$row['name']; 

if($name == '' || empty($name)) { 
    echo "<b>ID not found.</b>"; 
} else { 
    echo "<b>".$name."</b>"; 
} 

mysql_close($link); 

私が間違って行われた場所を教えてください?

+0

に要求どおりに例を変更しましたか? PHPのソースコードを追加してください。 –

+0

あなたは404を手に入れているので、パスを間違って指定した可能性が高いでしょう。 – CBroe

+1

3,2のSQLインジェクション... –

答えて

0

Angularは、独自のhttpサービスをajaxに提供します。 試し:

test.controller('formController',($scope,$http) { 
    $scope.$watchCollection('person', function(newVal){ 
     var url = "YOUR_AJAX_PHP_URL"; 
     var req = { 
     method: 'POST', 
     url: 'http://example.com', 
     data: { test: 'test' } 
     } 
     $http(req).then(function(response){/* success code here */}, function(response){/* fail code here */}); 
    }); 
}); 

参照:angular docs

編集:特定のエラーは何のコメント

+0

こんにちは、感謝しましたが、これは関数を取得することはできません。xmlhttp.open( "GET"、 "./ connections/getTag.php?q =" + newVal.name、true)値を渡してデータを返すので、私はajax – nicker

+0

ニッカーを使っています。 docsを読むと、 "config"でデータを送ることができます –

+0

ありがとう、読んだことがありますか?オプションの設定がある場合はそれを使用し、PHPではオプションの設定値を取得するにはどうすればいいですか? – nicker

関連する問題