使用$http.get检索单个记录
Using $http.get to retrieve a single record
我在一个PHP文件中有几个函数,用于从服务器数据库中写入和请求数据。对这些php函数的请求来自一个js文件。我的第一个向服务器写入的功能可以工作,但我的控制台中没有任何错误,无法继续检索单个记录。
目前,我相信我已经正确地提取了数据,正如我在控制台日志中看到的那样,但数据似乎没有分配给变量。
我的PHP文件
switch($_GET['action']){
case 'writeInvoice':
writeInvoice();
break;
case 'fetchInvoice':
fetchInvoice($_GET['num']);
break;
}
function fetchInvoice($num){
$fqry = "SELECT customerName,
dealerName,
billTo,
billStart,
contractTerms,
item,
itemPrice,
quantity,
sharePercent,
cost
FROM invoice
WHERE idInvoice = '{$num}'";
$qry = new Query($fqry,__LINE__,__FILE__);
$result = json_encode($qry->fetch_array());
print_r($result);
return $result;
}
我的js/角码
$scope.editInvoice = function($param){
$http.get('DealerRec/writeInvoice.php?num='+$param+'&action=fetchInvoice', $scope.list)
.success(function(data,status,headers,config){console.log("Data Taken"); console.log(data);
fetchData = data;
$scope.list.idInvoice = $param;
$scope.list.customerName = fetchData.customerName;
$scope.list.dealerName = fetchData.dealerName;
$scope.list.billTo = fetchData.billTo;
$scope.list.billStart = fetchData.billStart;
$scope.list.item = fetchData.item;
$scope.list.price = fetchData.price;
$scope.list.qty = fetchData.qty;
$scope.list.contractTerms = fetchData.contractTerms;
$scope.list.per = fetchData.per;
$scope.list.cost = fetchData.cost;
})
.error(function(data,status,headers,config){ console.log("Data Not Taken"); });
CustomModal.setOption(2);
};
我的目标是通过发票ID#从数据库中检索发票,并存储我可以查看和写入的字段。
我的控制台显示了这一点,当我调用函数时,比如说,条目12
Data Taken
(
[num] => 12
[action] => fetchInvoice
)
{"customerName":"SomeCustomer","dealerName":"SomeDealer","billTo":"Customer","billStart":"2015-06-10","contractTerms":"Billing Software Terms","item":"SomeItem","itemPrice":"150.00","quantity":"20","sharePercent":"75","cost":"15.00"}
当函数执行时,它在最后一行打开一个模态,其中数据是设置/可编辑的。
以下部分肯定是错误的:
fetchData = $http.get('DealerRec/writeInvoice.php?num='+$param+'&action=fetchInvoice', $scope.list)
.success(function(data,status,headers,config){console.log("Data Taken"); console.log(data); })
.error(function(data,status,headers,config){console.log("Data Not Taken"); });
不能像这样将$http
服务的结果分配给fetchData
。你需要在成功回调中这样做:
$http.get('DealerRec/writeInvoice.php?num='+$param+'&action=fetchInvoice',$scope.list)
.success(function(data,status,headers,config){
console.log("Data Taken");
console.log(data);
fetchData = data; // this is what you have to do
})
.error(function(data,status,headers,config){
console.log("Data Not Taken");
});
相关文章:
- mysql查询一次在单个查询中的多个表中插入记录
- 可以't在Angular js/HTML中获取单个记录
- 使用jquery获取单个记录
- 如何使用挖空保存单个记录
- 使用express和node.js更新mongodb中的单个记录
- 是为大约100条记录中的每一条呈现一个表单更快,还是用ajax加载单个表单更快
- 使用 limit 解析“or”查询将返回忽略单个查询限制的所有记录
- 为单个定期事件保存单个 DHTMLX 计划程序事件记录
- 异步瀑布返回节点 js 和 mongodb 中数组的单个记录
- 使用单个查询将多个记录插入到 webSQL 表中,来自对象数组的数据
- 使用$http.get检索单个记录
- ExtJs JSONStore loaddata方法只加载单个记录
- 使用jquery ajax从xml中检索单个记录
- AngularJS - ng-repeat多次显示单个记录
- 绑定带有单个记录的简单视图模型
- 编辑单个记录
- 选择/取消选择全部对单个记录不起作用
- ExtJS 4-更新/刷新单个记录
- Angular JS:如何从 json 数据集“加载”单个记录
- 需要在ASP.net数据列表的单个记录中识别特定元素的ID