将动态创建的输入从Angular提交到PHP页面

时间:2014-09-15 10:37:19

标签: javascript php jquery angularjs

我正在尝试创建一个发票表单,它可以进行所有必要的计算,例如小计,税收总额。

点击提交按钮应该将所有值和动态创建的项目提交到PHP页面,这将把这些值(由用户编写,或由angularjs计算)插入到我希望的相应SQL表/列中。

基于此project,我添加了此javascript代码。

function PhpCtrl($scope, $http, $templateCache) {
var method = 'POST';
var url = 'added.php';
$scope.codeStatus = "";
$scope.add = function() {
var FormData = {};
$http({
  method: method,
  url: url,
  data: FormData,
  headers: {'Content-Type': 'application/x-www-form-urlencoded'},
  cache: $templateCache
}).
success(function(response) {
    $scope.codeStatus = response.data;
}).
error(function(response) {
    $scope.codeStatus = response || "Request failed";
});
return false;
};
}

有人可以帮我如何存储所有动态创建的项目及其值,以便将它们提交到php页面吗?

1 个答案:

答案 0 :(得分:0)

您可以使用普通的javascript动态提交FormData,如下所示:

var fd = new FormData();

fd.append("fieldName", valueToSubmit);
fd.append("arrayField[]",[1,2,3]); //you can even post array data

您将fd推送到服务器:

var uri = "added.php";
var xhr = new XMLHttpRequest();
xhr.open("POST",uri,true);
xhr.onreadystatechange=function(){
    if(xhr.readyState == 4 && xhr.status==200){
        //do something with returned data
    }
};
fd.append("img_file",blob_to_upload);// you can even upload a file
fd.append("user_id",data);
fd.append("category_id",category_id);
xhr.send(fd);