javascript - 如何使用 jquery 放置 json 值?
问题描述
我正在将选定的字段从 wordpress 发送到 API(第 3 方应用程序)。
这就是我的数据数组的样子:
var data_array = {
"order": {
"customer": {
"name": "The User"
}
}
}
我想将“名称”键的值替换为包含 jquery 选择器的 javascript 变量。例如:
var name = j('.billing_company_name').html(result.meta_data[1].value);
我认为 data_array 的新代码将是:
var data_array = {
"order": {
"customer": {
"name": name(variable name jquery selector)
}
}
}
你知道正确的语法,所以我可以用 jquery 选择器的值替换“name”键的值吗?
最终代码将如下面的代码所示:
j.ajax({
type: 'POST',
url: 'http://mywebsite/api/orderdetails',
cache: false,
data: {
"data_array": data_array
},
beforeSend: function() {
},
success: function(result) {
},
error: function(xhr, status, error) {
console.log(error);
},
complete: function() {
}
});
解决方案
我需要将元素的值放在
data_array.order.customer.name
在这种情况下,您可以使用val()
来选择该属性。如果要在实例化对象时执行此操作,请使用以下命令:
var data_array = {
"order": {
"customer": {
"name": name.val()
}
}
}
或者,如果您想在声明后执行此操作data_array
(名称不好,因为它是一个对象而不是数组),那么您可以使用这一行:
data_array.order.customer.name = name.val();
推荐阅读
- javascript - SyntaxError:使用 babel 和 jest 测试反应应用程序时令牌无效或意外
- android - 升级到 Gradle 5.4.1 和 Android Stuidio 3.5 RC 3 后,crashlyticsUploadDeobsRelease 任务消失了
- html - grid-template-areas 垂直分布一组文章
- python - 具有 3 种不同用户类型的注册屏幕
- assembly - PUSH 操作入栈
- c# - NavigateToPage 在 ASP.NET 应用程序中挂起
- python - 调用 nlp 时出现 Python Spacy 错误:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2
- laravel - 未找到 Laravel nova 文件下载
- angular - Angular @ViewChild 未在路由器插座负载上加载
- java - Kerberos POST 请求使用 Java 返回 401 错误