AngularJS学习之SQL

1.使用PHP从MySQL中读取数据:

<div ng-app="myApp" ng-controller="customersCtrl" >

<table>

  <tr ng-repeat="x in names" >

    <td>{{x.Names}}</td>

    <td>{{x.Country}</td>

  </tr>

</table>

</div>

<script>

var app=angular.module('myApp',[]);

app.controller('customersCtrl',function($scope,$http){

  $http.get(http://www.runoob.com/angularjs/data/Customers_MySQL.php)

  .success(function(response){$scope.names=response.records});

});

</script>

 

2.服务器端代码:

**使用PHP和MySQL,返回JSON;

**使用PHP和MS Access,返回JSON;

**使用ASP.NET,VB,及MS Access,返回JSON;

**使用ASP.NET,Razor(Razor 不是编程语言。它是服务器端标记语言。)及SQL Lite,返回JSON;

 

**Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法。

当网页被写入浏览器时,基于服务器的代码能够创建动态内容。在网页加载时,服务器在向浏览器返回页面之前,会执行页面内的基于服务器代码。由于是在服务器上运行,这种代码能执行复杂的任务,比如访问数据库。

Razor 基于 ASP.NET,它为 web 应用程序的创建而设计。

**SQLite是一个嵌入式SQL数据库引擎,与其它大多数SQL数据库不同的是,SQLite没有独立的服务进程。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。

 

3.跨域HTTP请求:如果你需要从不同的服务器(不同的域名)上获取数据就需要使用跨域HTTP请求;

**跨域请求在网页上非常常见,很多网页从不同服务器上载入CSS,图片,JS脚本等;

**PHP Ajax跨域问题最佳解决方案:通过设置Access-Control-Allow-Origin来实现跨域:

(1)允许单个域名访问:指定客户端的域名为(http://client.runoob.com)跨域访问,则只需在请求的域名(http://server.runoob.com/server.php)文件头部添加以下代码:

header('Access-Control-Allow-Origin:http://client.runoob.com')

 

(2)允许多个域名访问:指定多个域名(http://client1.runoob.com,http://client2.runoob.com等)跨域访问,则只需在(http://server.runoob.com/server.php)文件头部添加如下代码:

$origin=isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : ' ';

$allow_origin=array(

  'http://client1.runoob.com',

  'http://client2.runoob.com'

);

if(in_array($origin,$allow_origin)){

  header('Access-Control-Allow-Origin:'.$origin);

}

(3)允许所有域名访问:允许所有域名访问只需在http:.//server.runoob.com/server.php文件头部添加如下内容:

herder('Access-Control-Allow-Origin:*');

 

 

4.PHP和MySQL代码示例:

<?php

header("Access-Control-Allow-Origin:*");

header("Content-Type:application/json;charset=UTF-8");

$conn=new mysqli("myServer","myUser","myPassword","Northwind");

$result=$conn->query("SELECT CompanyName,City,Country FROM Customers");

 

$outp="";

while($rs=$result->fetch_array(MYSQL_ASSOC)){

  if($outp!=""){$outp .=",";}

  $outp .='{   "Name":    " '.$rs["CompanyName"] .'  " , ' ;

    $outp .='     "City"  :    " ' .$rs["City"]                .'  " ,  ';

  $outp .='     "Cpuntry": " '.$rs["Country"]           .' "

     }';

}

$outp='{  "records"  :  ['.$outp'.]   }';

$conn->close();

echo($outp);

?>

 

posted @ 2016-11-21 09:24  小春熙子  阅读(604)  评论(0编辑  收藏  举报