javascript - 通过 AJAX 发布时如何忽略 JSON 数据?
问题描述
实际上我的 JSON 数据作为我通过 AJAX 发送的对象是:
{
plotId: "668",
geogPhysZone: "4",
districtCode: "4",
posMethod: "1",
sRS: "45",
crewLeader: "",
date: "",
distanceToOtherLanduse: "",
distanceToSettlement: ""
}
但是null
来自 JSON 的值在发布时在我的表列中不可用,所以我得到 500(内部服务器错误)。因此,在从 AJAX 发送时,我想忽略为空的值。
单击按钮时调用我的代码:
$("#generalSubmitButton").click(function(event) {
event.preventDefault();
var form_data = Object.assign($("#generalForm1").toObject(), $("#headForm").toObject());
console.log(form_data);
$.ajax({
url: A_PAGE_CONTEXT_PATH + "/form/api/plot-general/save",
method: "post",
contentType: "application/json",
dataType: "json",
data: JSON.stringify(form_data),
success: function() {
alert("Successful");
},
error: function(response) {
switch (response.status) {
case 409:
alert("error");
}
}
});
});
解决方案
您可以遍历对象并消除没有价值的对象。
var myObject= {plotId: "668", geogPhysZone: "4", districtCode: "4", posMethod: "1", sRS: "45",crewLeader:"",date:"",distanceToOtherLanduse:"",distanceToSettlement:""};
Object.keys(myObject).forEach(function(key) {
var val = myObject[key];
if($.trim(val).length == 0){ //delete which are null or blank
delete myObject[key];
}
});
推荐阅读
- dart - Dartdoc 找不到任何要记录的库
- r - 如何从模型中提取公式并用于 R 中的另一个模型?
- mongodb - 如何在位置数组上创建 2DSphere 索引?
- java - 在执行 java 代码时,我遇到了错误。请帮我解决这个问题
- google-bigquery - 如何从 Google BigQuery 中的非唯一记录生成唯一 ID
- c - GtkRevealer 使文本视图绘图出现故障
- ios - StackView 内的 CollectionView
- javascript - 如何在 HTML 页面中动态填充值?
- javascript - 按“Enter”键实现新的换行
- google-app-engine - java.lang.RuntimeException:暂存包时出错