Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular6:Form=如何选择要发送的参数_Javascript_Angular_Angular6 - Fatal编程技术网

Javascript Angular6:Form=如何选择要发送的参数

Javascript Angular6:Form=如何选择要发送的参数,javascript,angular,angular6,Javascript,Angular,Angular6,在post方法中,我只需要发送形式上有值的参数(api规范),而不是所有数据。有没有办法只发送触碰过的字段 {“关键字”:“key,pase”,“fps”:0,“productionYear”:1920,“contentType”:2,“country”:“US”,“tags”:[“trap”,“bad”,“day”,“anderson”],“related”:[],“series”:“}在请求体内发送对象之前,必须手动完成这项工作。考虑创建一个单独的函数来完成这项工作。 //{"keywor

在post方法中,我只需要发送形式上有值的参数(api规范),而不是所有数据。有没有办法只发送触碰过的字段


{“关键字”:“key,pase”,“fps”:0,“productionYear”:1920,“contentType”:2,“country”:“US”,“tags”:[“trap”,“bad”,“day”,“anderson”],“related”:[],“series”:“}
在请求体内发送对象之前,必须手动完成这项工作。考虑创建一个单独的函数来完成这项工作。

//{"keywords":"key, pase","fps":0,"productionYear":1920,"contentType":2,"country":"US", "tags":["trap","bad","day","anderson"],"related":[], "series": ""}
takeNonEmptyObjects (obj) {
  const result = {}
  for (var k in obj) {
    if (!obj.hasOwnProperty(k)) return;
    const value = obj[k]
    if (value === null || value === undefined) || value === "")) {
      result[k] = obj[k];
    }
  }
  return result;
}

如果您想将上述行为应用于所有请求主体,请在请求之前考虑从<代码> HtpHeTracter < /代码>调用上述函数。

您必须在请求主体内发送对象之前手动完成这项工作。考虑创建一个单独的函数来完成这项工作。

//{"keywords":"key, pase","fps":0,"productionYear":1920,"contentType":2,"country":"US", "tags":["trap","bad","day","anderson"],"related":[], "series": ""}
takeNonEmptyObjects (obj) {
  const result = {}
  for (var k in obj) {
    if (!obj.hasOwnProperty(k)) return;
    const value = obj[k]
    if (value === null || value === undefined) || value === "")) {
      result[k] = obj[k];
    }
  }
  return result;
}

如果您想将上述行为应用于所有请求主体,则在请求之前考虑从<代码> HtpHetrtter < /C>中调用上面的函数。

< P>这里是完整的证明解决方案,它将<强>标识您的字段是“代码>对象< /代码>还是<代码>字符串< /代码>,相应地检查值并从传递的数组中删除空数组/null/未定义的/空字符串-

var数据={“关键字”:“键,pase”,“fps”:0,“生产年份”:1920,“内容类型”:2,“国家”:“美国”,“标签”:[“陷阱”,“坏”,“日”,“安德森”],“相关”:[],“系列”:“};
函数cleanData(数据){
for(让我们输入数据){
if(数据类型[键]=='string'){
如果(数据[键]==null | |数据[键]==“”| | |数据[键]==未定义){
删除数据[键];
}
}else if(数据类型[键]=“对象”){
if(数据[键]。长度==0){
删除数据[键];
}
}
}
返回数据;
}

console.log(cleanData(data))
这是完整的验证解决方案,它将识别您的字段是
对象还是
字符串,相应地检查值并从传递的数组中删除空数组/空数组/未定义的/空字符串-

var数据={“关键字”:“键,pase”,“fps”:0,“生产年份”:1920,“内容类型”:2,“国家”:“美国”,“标签”:[“陷阱”,“坏”,“日”,“安德森”],“相关”:[],“系列”:“};
函数cleanData(数据){
for(让我们输入数据){
if(数据类型[键]=='string'){
如果(数据[键]==null | |数据[键]==“”| | |数据[键]==未定义){
删除数据[键];
}
}else if(数据类型[键]=“对象”){
if(数据[键]。长度==0){
删除数据[键];
}
}
}
返回数据;
}

console.log(cleanData(data))好的,所以这是唯一的方法,好的,我也有HttpIntercepter,我只是想一想,并假设angular有一些选项,但显然没有。是的,这是我唯一能想到的,否则在处理请求之前,你可以在服务器端配置一些中间件。好的,谢谢,我像这样使用了
TakeNonemptyObject(content:any){const result={};for(const key in content){if(content.hasOwnProperty(key)){const element=content[key];if(element!==null&&element!==undefined&&element!=''{result[key]=content[key];}}}返回结果;}
好的,这是唯一的方法,好的,我也有HttpIntercepter,我只是想一想,并假设angular有一些选项,但显然没有。是的,这是我唯一能想到的,否则在处理请求之前,您可以在服务器端配置一些中间件。好的,谢谢,我像这样使用了
TakeNonemptyObject(content:any){const result={};for(const key in content){if(content.hasOwnProperty(key)){const element=content[key];if(element!==null&&element!==undefined&&element!=''{result[key]=content[key];}}}返回结果;}