将AJAX JSON对象复制到现有的object中
Copying AJAX JSON object into existing Object
我有几个Javascript原型。最初,实例将只填充ID,并为其他数据填充一些通用占位符信息。然后,我向服务器发送一条带有ID和对象类型的消息(使用jQuery的AJAX函数),服务器返回一个包含所有缺失信息(但没有ID)的JSON对象。返回对象中的变量与现有对象中的变量具有完全相同的名称。
将它转移到现有的空对象中最简单的方法是什么?我已经想到了一些替代方案
- 设置对象等于返回的对象,然后在id中复制(丢失原型函数?)
- 为每个对象创建一个函数,该函数接受具有相同结构的对象并复制数据
- 遍历JSON对象的键值对,并将它们复制到现有对象
如果我使用第三个选项,这是正确的方法吗?:
for (var key in json) {
if (object.hasOwnProperty(key)) {
object[key] = json[key];
}
}
假设json
是返回的对象,object
是已存在的对象。
不使用jQuery的替代方法是使用javascript对象。分配方法。
Object.assign(targetObject, json);
试试使用扩展():
var newObject = jQuery.extend({}, oldObject);
可以使用jQuery。扩展:http://api.jquery.com/jQuery.extend/
$.extend(object1,object2);
如果你的JSON是一个字符串,那么首先创建一个对象:
var object1=$.parseJSON(myJsonString);
相关文章:
- 来自 Object 内部的 Jquery Ajax 调用立即失败
- ajax成功时调用self-object失败
- jQuery AJAX 调用返回 [object Object]
- Vue.js 和 vue-i18n,从 $ajax 到 Object 文字的 json
- Jquery ajax displays [object Object]
- IE8 & 9 - no jquery ajax response object
- Javascript Object and jQuery AJAX
- $.ajax、$.load、$.getscript和object标记的优点和缺点
- 使用Ajax的Phonegap发送图像的结果是[Object ArrayBuffer],而不是二进制
- ajax发布数据错误[object HTMLCollection]
- AJAX POST returns [object Object]
- 列表中的jquery ajax[object object][object object]输出
- 带有Object数据的Javascript 2D数组通过$.Ajax()转换为PHP$_POST的有效JSON字符串
- AJAX成功重定向,但给出[object:object]
- 从laravel控制器访问json/object到ajax调用时未定义错误
- IE9错误:SCRIPT5007:无法获取属性'ajax': object为空或未定义的值
- Ajax gives back [object HTMLInputElement]
- freewall使用ajax附加内容和显示[object object]
- 将AJAX JSON对象复制到现有的object中
- 对web服务的AJAX调用返回[object object]