我有一个将我的数字转换成字符串的对象。我已经做了很多谷歌搜索,试图弄清楚为什么会发生这种情况,但仍然不确定-我认为这可能与post方法中的JSON或标头信息有关?因此,我的下一个尝试是将对象转换回整数。我看到了几个选项:parseInt(),Number(),split('“”'),但尚未解决我的问题。
发布后:$ rootScope.fullDay = {星期一:“ 1”,星期二:“ 2”}
我需要采用以下格式:发布之前:
$ rootScope.fullDay = {星期一:1,星期二:2}
编辑:值不在引号中,如下所示:
<li class="col-md-3">
<input type="checkbox" id="Monday" ng-true-value= 1 ng-model="day.mon" ng-change="selectedDay()">
<label class="ui-checkbox" for="Monday">Monday</label>
</li>
<li class="col-md-3">
<input type="checkbox" id="Tuesday" ng-true-value= 2 ng-model="day.tue" ng-change="selectedDay()">
<label class="ui-checkbox" for="Tuesday">Tuesday</label>
JS档案:
$scope.selectedDay = function () {
if (!$rootScope.edit) {
console.log($scope.day)
$rootScope.fullDay = $scope.day;
$rootScope.day = Object.keys($scope.day).map(key => $scope.day[key]);
$rootScope.day.forEach(function (item, index) {
if (item === false) {
$rootScope.day.splice(index, 1);
}
});
$rootScope.dayFormatted = $rootScope.day.join(' ');
$rootScope.schedule.weekdays.day['@'].day = $rootScope.dayFormatted;
}
POST(仅包括部分):
createJob_API: function () {
var data = $.param({"fullDay": $rootScope.fullDay, "fullDate": $rootScope.fullDate})
var settings = {
method: 'POST',
data: data,
headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },
这是POST之前的控制台日志图像:http : //imgur.com/Lwjq5xB之后:http : //imgur.com/S2M51Qg注意:第二个img只是输出示例,与选择前一天的日期不同。
多谢您的协助-如果有人能告诉我为何自动进行转换,我将不胜感激。
我可以通过以下方法解决我的问题:
Object.keys($rootScope.edit.fullDay).forEach(function(key,value){
$rootScope.edit.fullDay[key] = parseInt($rootScope.edit.fullDay[key]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句