我想使用 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/