javascript - 在 AngularJS 中创建 JSON 字符串

标签 javascript angularjs json

我想使用 AngularJS 创建以下格式的 JSON 字符串:

{
    "userid": 100,
    "fleetid": 506,
    "comments": "This is a test comment",
    "fleetcheckdate": "29/10/1976",
    "options": [{
        "fleetcheckid": "1",
        "fleetcheckvalueid": "1"
    }, {
        "fleetcheckid": "2",
        "fleetcheckvalueid": "1"
    }, {
        "fleetcheckid": "3",
        "fleetcheckvalueid": "1"
    }]
}

哪里

  • “用户ID”
  • “舰队”
  • “评论”
  • “舰队检查日期”

我知道所有单独的值。

对于“options”,我有一个多维数组,用于存储我创建的“fleetcheckid”“fleetcheckvalueid”的值如下:

$scope.selectedRadioArray = [];

$scope.doSomething = function(fleetCheckItemID, fleetCheckID)
{
    $scope.selectedIDS = [fleetCheckItemID, fleetCheckID];
    $scope.selectedRadioArray.push($scope.selectedIDS);
    console.log("Array: " + $scope.selectedRadioArray); // Prints e.g. 4,3,8,6,34,8
}

每次用户与按钮交互时都会触发 doSomething() 方法,并生成 2 个值“fleetcheckid”和“fleetcheckvalueid”。在上面的示例中,用户单击了按钮 3 次。该按钮可以单击任意多次。

如何按照示例将上述信息转换为 JSON 字符串,然后通过 $http.post() 发送到我的数据库?

最佳答案

通过 $http 向服务器发送信息时,使用 JSON 通常是个好主意。不要将其转换为字符串。

只需格式化您的有效负载,如下所示:

var payload = {
    userId: $scope.userId,
    /* etc.... */
    options: $scope.optionsArray
};

然后,当发送到服务器时,执行以下操作:

$http.post('path/to/api', payload, { headers: { /* etc... */ }}).then(successCallback).catch(errorCallback);

关于javascript - 在 AngularJS 中创建 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37074388/

相关文章:

javascript - 如何在 AngularJS 中循环数组时隐藏空值字段

json - 在 JSON 对象中,如何通过 JSON 路径获取所有唯一属性名称的列表

c# - 在 C# 中将字符串数组转换为 json 对象

c# - 对 WCF 服务的 POST 调用出现问题 - 400 BAD REQUEST

javascript - underscorejs 采摘二维数组

javascript - jquery 获取表单 DIV 的数据到 PHP $_POST

javascript - 仅在有条件时才绘制 Lodash map

javascript - 将普通js转换为 Angular 语法的快速方法?

javascript - AngularJS - 如何在非单页应用程序中从干净的 URL 读取 URL 参数

javascript - 模块粒度策略