javascript - 使用 Angular JS 通过 ajax 传递复选框数组

标签 javascript ajax angularjs

我需要执行 ajax GET 请求,提交一组复选框(全部具有相同的名称): 例如:

type[] = new

type[] = used

type[] = refurbished

这是我尝试访问的 API 所必需的。但是我不确定如何实现这一目标。

除了这些复选框之外,我还可以使用该 API 进行其他所有操作。

这是定义复选框的方式:

 self.types = ['new', 'used', 'refurbished'];
 //....
           <label ng-repeat="type in search.types">
                <input
                        type="checkbox"
                        name="type[]"
                        value="{{type}}"
                        > {{type}}
            </label>

这就是我添加要发送到 API 的值的方式,例如:

 dataObj['price'] = $scope.formData.max_price;
//need to do similar as this for the type[] checkboxes

然后它们被发送到 API:

  return $http({
                url: APIUrl + "search/",
                method: "GET",
                params: dataObj
  });
  //etc

因此发布到 API 的参数需要如下所示:

 price = 400000
 type[] = new
 type[] = refurbished
 //NB: "used" wasn't submitted as the "used" checkbox wasn't checked

^ 这不灵活,它是 API 所必需的。

非常感谢

最佳答案

使用 ng-model="checkbox1"、ng-model="checkbox2"、ng-model="checkbox3"并将它们收集到对象中。

数据={ 价格: 价格, 类型1:复选框1, 类型2:复选框2, 类型3:复选框3 }

关于javascript - 使用 Angular JS 通过 ajax 传递复选框数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31717537/

相关文章:

javascript - 如何使用jquery将每个HTML dom和get属性转换为JSON

javascript - InvokeScript() 方法返回 null

javascript - 如果条件为 true,则在 Ajax 调用中添加参数

angularjs - 使用 ng-repeat 限制行数

javascript - 定位和编辑新创建的行?

javascript 执行事件顺序

JavaScript 无法在 html 中运行

javascript - Apache/PHP 和动态 CORS

ajax - 对 WCF 休息服务进行 Ajax 调用时出现 500 System.ServiceModel.ServiceActivationException

javascript - ng-model 值不会在 ngModelCtrl.$commitViewValue() 上更新;