php端生成数据
<?php function getOrders() { include_once 'mysql_connect.php'; $email = $_SESSION['Email']; $query = sprintf("SELECT * FROM `Order` WHERE `Email` = '%s' order by id desc", mysqli_real_escape_string($con, $email)); $result = mysqli_query($con, $query); $data = array(); while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){ $data[] = $row; } mysqli_close($con); return json_encode($data);//json_encode() is the key } ?>
显示php端数据
$(document).ready(function () { //Pass JSON encoded data directly into javascript variable var data = <?php getOrders(); ?> ; var vm = new ViewModel(data); ko.applyBindings(vm); }); function ViewModel (data){ self = this; self.Orders = ko.mapping.fromJS(data); }
用ko向php发送数据
function ViewModel (){ self = this; self.Order = { Email:ko.observable(), FirstName : ko.observable(), LastName : ko.observable(), URL : ko.observable(), Comments : ko.observable() }; self.CreateOrder = function() { //Here is where you convert the data to something php can swallow var data = ko.toJS({"Data":order}); $.ajax({ url: "CreateOrder.php", type: 'post', data: data, success: function (result) { console.log(result); } }); }; }
接收数据
<?php include_once 'mysql_connect.php'; //recieve raw data into php variable $data = $_POST['Data']; //extract each field from raw data $email = $data['Email']; $firstName = $data['FirstName']; $lastName = $data['LastName']; $comments = $data['Comments']; ... ?>