AngularJS SQL
Der Code aus den vorherigen Kapiteln kann auch zum Lesen von Daten aus einer Datenbank verwendet werden.
PHP verwenden, um Daten von MySQL abzurufen
AngularJS-Beispiele
<table>
<tr ng-repeat="x in names">
<td>{{ x.Name }}</td>
<td>{{ x.Country }}</td>
</tr>
</table>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
$http.get("https://www.example.com/try/angularjs/data/Customers_MySQL.php")
.success(function (response) {$scope.names = response.records;});
});
</script>
Selbst ausprobieren »
SQL in ASP.NET ausführen, um Daten abzurufen
AngularJS-Beispiele
<table>
<tr ng-repeat="x in names">
<td>{{ x.Name }}</td>
<td>{{ x.Country }}</td>
</tr>
</table>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
$http.get("https://www.example.com/try/angularjs/data/Customers_SQL.aspx")
.success(function (response) {$scope.names = response.records;});
});
</script>
Serverseitiger Code
Das Folgende listet verschiedene Arten von serverseitigem Code auf:
- PHP und MySQL verwenden. JSON zurückgeben.
- PHP und MS Access verwenden. JSON zurückgeben.
- ASP.NET, VB und MS Access verwenden. JSON zurückgeben.
- ASP.NET, Razor und SQL Lite verwenden. JSON zurückgeben.
Domänenübergreifende HTTP-Anfragen
Wenn du Daten von einem anderen Server (einer anderen Domäne) abrufen musst, musst du domänenübergreifende HTTP-Anfragen verwenden.
Domänenübergreifende Anfragen sind auf Webseiten sehr häufig. Viele Webseiten laden CSS, Bilder, JS-Skripte usw. von verschiedenen Servern.
In modernen Browsern sind aus Gründen der Datensicherheit alle Anfragen streng auf dieselbe Domäne beschränkt. Wenn du Daten von verschiedenen Websites aufrufen musst, musst du domänenübergreifende Lösungen verwenden.
Der folgende PHP-Code läuft auf der Website, die für den domänenübergreifenden Zugriff verwendet wird.
Weitere Lösungen für den domänenübergreifenden Zugriff finden Sie unter:Die besten Lösungen für das PHP-Ajax-Domain-übergreifende Problem。
1. PHP- und MySQL-Codebeispiel
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(MYSQLI_ASSOC)) {
if ($outp != "") {$outp .= ",";}
$outp .= '{"Name":"' . $rs["CompanyName"] . '",';
$outp .= '"City":"' . $rs["City"] . '",';
$outp .= '"Country":"'. $rs["Country"] . '"}';
}
$outp ='{"records":['.$outp.']}';
$conn->close();
echo($outp);
?>
2. PHP- und MS-Access-Codebeispiel
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=ISO-8859-1");
$conn = new COM("ADODB.Connection");
$conn->open("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=Northwind.mdb");
$rs = $conn->execute("SELECT CompanyName, City, Country FROM Customers");
$outp = "";
while (!$rs->EOF) {
if ($outp != "") {$outp .= ",";}
$outp .= '{"Name":"' . $rs["CompanyName"] . '",';
$outp .= '"City":"' . $rs["City"] . '",';
$outp .= '"Country":"'. $rs["Country"] . '"}';
$rs->MoveNext();
}
$outp ='{"records":['.$outp.']}';
$conn->close();
echo ($outp);
?>
3. ASP.NET-, VB- und MS-Access-Codebeispiel
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb"%>
<%
Response.AppendHeader("Access-Control-Allow-Origin", "*")
Response.AppendHeader("Content-type", "application/json")
Dim conn As OleDbConnection
Dim objAdapter As OleDbDataAdapter
Dim objTable As DataTable
Dim objRow As DataRow
Dim objDataSet As New DataSet()
Dim outp
Dim c
conn = New OledbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=Northwind.mdb")
objAdapter = New OledbDataAdapter("SELECT CompanyName, City, Country FROM Customers", conn)
objAdapter.Fill(objDataSet, "myTable")
objTable=objDataSet.Tables("myTable")
outp = ""
c = chr(34)
for each x in objTable.Rows
if outp <> "" then outp = outp & ","
outp = outp & "{" & c & "Name" & c & ":" & c & x("CompanyName") & c & ","
outp = outp & c & "City" & c & ":" & c & x("City") & c & ","
outp = outp & c & "Country" & c & ":" & c & x("Country") & c & "}"
next
outp ="{" & c & "records" & c & ":[" & outp & "]}"
response.write(outp)
conn.close
%>
4. ASP.NET-, VB-Razor- und SQLite-Codebeispiel
Response.AppendHeader("Access-Control-Allow-Origin", "*")
Response.AppendHeader("Content-type", "application/json")
var db = Database.Open("Northwind");
var query = db.Query("SELECT CompanyName, City, Country FROM Customers");
var outp =""
var c = chr(34)
}
@foreach(var row in query)
{
if outp <> "" then outp = outp + ","
outp = outp + "{" + c + "Name" + c + ":" + c + @row.CompanyName + c + ","
outp = outp + c + "City" + c + ":" + c + @row.City + c + ","
outp = outp + c + "Country" + c + ":" + c + @row.Country + c + "}"
}
outp ="{" + c + "records" + c + ":[" + outp + "]}"
@outp