我正在尝试向后端发送一个JSON对象。基本上,我要做的是获得两个文本字段的输入,然后是所有选定文本框的列表。我的javascript代码如下所示:
function insertNewHero() {
var selectedAbilities = [];
$('#newhero input:checked').each(function() {
selectedAbilities.push({
"id": $(this).value,
"ability": $(this).textContent
});
});
var superhero = {
"name": document.getElementById("name").value,
"surname": document.getElementById("lastName").value,
"abilities": selectedAbilities
}
$.ajax({
type: "POST",
contentType: 'application/json; charset=utf-8',
dataType: 'json',
url: "/insertNewHero",
data: JSON.stringify(superhero),
success: function (result) {
// other stuff
}
});
我还不是javascript方面的专家,但从我在其他Anwer和帖子中发现的情况来看,这是我可以组合起来的,我认为它实际上可以工作。后端部分工作正常,正如我用PostMan测试的那样,非常正常。这就是JSON,我;我是邮递员寄来的,看起来像:
{
"name": "Wanda",
"surname": "Maximoff",
"abilities": [
{
"id": 4,
"ability": "Telechinesis"
},
{
"id": 3,
"ability": "Flight"
}
]
}
JavaScript代码可能有什么问题?
以下是其中一个文本字段和一个复选框的示例:
<div class="form-group">
<label for="lastName">Last Name</label>
<input type="textfield" class="form-control" id="lastName" placeholder="Last Name" required>
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" style="background: #bf0000; color: #bf0000; border: solid #bf0000" id="InsertFlight">
<label class="custom-control-label" for="InsertFlight" value="3">Flight</label>
</div>
显然,javascript代码没有正确解析复选框的值和ID。我如何使用复选框HTML内容,一个格式正确的JSON数组
主要的问题似乎是从超文本标记语言中提取能力。
要做到这一点,遍历所有选中的复选框,然后使用jQuery函数,如。最近()
或。查找()
来获取
function insertNewHero() {
var abilities = {};
$('#newhero .custom-checkbox input:checked').each(function() {
const $label = $(this).closest("div").find("label");
abilities[$label.data("id")] = $label.text();
});
var superhero = {
name: "Wanda",
surname: "Maximoff",
abilities
}
console.log(superhero);
// send data to backend
}
$('#newhero').on("submit", function(e) {
e.preventDefault();
insertNewHero();
});
#newhero, .form-group {
padding: 1em;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<form id="newhero">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" style="" id="InsertFlight">
<label class="custom-control-label" for="InsertFlight" data-id="3">Flight</label>
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" style="" id="InsertTelekinesis">
<label class="custom-control-label" for="InsertTelekinesis" data-id="4">Telekinesis</label>
</div>
<div class="form-group">
<input type="submit">
</div>
</form>
问题内容: 如何在Android中以这种格式创建JSON:由于我将传递的API将解析JsonArray,然后解析该对象。还是只传递一个json对象就可以了吗?因为我只需要在每个服务调用中插入1个事务即可。 我所知道的只是JSONObject。像这个。 有任何想法吗。谢谢 问题答案: 使用以下代码:
本文向大家介绍Jquery通过JSON字符串创建JSON对象,包括了Jquery通过JSON字符串创建JSON对象的使用技巧和注意事项,需要的朋友参考一下 PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用: 在线JSON代码检验、检验、美化、格式化工具: http://tools.jb51.net/code/json JSON在线格式化工具: http://to
我有两个json对象,请不要是字符串,我想将它们组合成一个json对象,如下所示。 两个对象: 预期结果: 有没有一种优雅的方法可以做到这一点?我的意思是,不提取每支笔和每本书的值,然后使用以下方法将它们重新插入包 我正在使用org。科德豪斯。抛弃json。JSONObject,如果需要该信息。
问题内容: 我不太使用php,并且在对象创建方面有些模糊。我需要发出一个发送json的网络服务请求,我想我已经覆盖了那部分。在提交数据之前,我需要创建一个嵌套对象。根据我对基于ecma的脚本语言的经验,我认为这是微不足道的,但是我发现该语法难以导航。我要创建的对象如下。 我已经看到了许多平面对象的示例,但是还没有找到嵌套对象的最小示例。上面对象的php语法是什么?这是在PHP中做的不寻常的事情吗?
问题内容: 如何使用PHP实现或创建这种JSON对象? 经过几次尝试,我没有找到解决方案。例如,我尝试了这个: 问题答案:
问题内容: 如何将JSON传递到RAILS应用程序,以便它将以has_many关系创建嵌套的子对象? 这是我到目前为止的内容: 两个模型对象。 使用通勤,我可以设置标准控制器。我希望能够使用JSON在一个REST调用中创建一个Commute对象以及几个子Location对象。我一直在尝试这样的事情: 更具可读性的JSON是: 执行该命令时,将得到以下输出: 看起来好像正在读取JSON数组的loca