Jquery 加载返回 [object 对象]

Posted

技术标签:

【中文标题】Jquery 加载返回 [object 对象]【英文标题】:Jquery Load returns [object object] 【发布时间】:2020-04-03 04:14:52 【问题描述】:

我正在使用 Jquery 从文本文件中加载带有文本的 Summernote 模块,但是当我执行我的函数时,它会将负载识别为对象,而不是在文档中显示文本。

我怎样才能让 jquery 返回文件内的文本而不是文件作为对象。

function testing()

    let word = $('.summernote6').load('http://127.0.0.1:8887/js/summernote/cats.txt');

    $('.summernote6').summernote('insertText', word);
    console.log(word)

然后控制台显示[object object]

【问题讨论】:

jQuery 的.load() 函数返回您调用load 的jQuery 对象,即$('.summernote6') 对象。远程资源的内容在加载后插入到该元素中 阅读文档。 .load() 不返回加载的内容,它返回一个 jQuery 集合,以便您可以链接它,就像许多其他 jQuery 方法一样。 .load() 所做的是将集合中所有元素的所有内容替换为加载的内容。这似乎不是您想要的,而是您想将其存储在变量中。为此,您应该使用.ajax() 我想你其实想要$.get('http://127.0.0.1:8887/js/summernote/cats.txt').done(word => console.log(word)) 【参考方案1】:

原来我只需要与对象的文本内容进行交互,所以下面的代码对我有用。

function testing()

   let word = $('.summernote6').load('http://127.0.0.1:8887/js/summernote/cats.txt');
   let words = word.text();

    $('.summernote6').summernote('insertText', word.text());
    console.log(word.text())

【讨论】:

【参考方案2】:

load 方法在选择器中加载内容。

你只能这样做:

function testing()
    $('.summernote6').load('http://127.0.0.1:8887/js/summernote/cats.txt');

它将在 .summernote6 元素中加载 cats.txt 的内容

你得到一个对象,因为变量正在接收选择器,内容已经插入

【讨论】:

以上是关于Jquery 加载返回 [object 对象]的主要内容,如果未能解决你的问题,请参考以下文章

Object.keys方法之详解

Object.keys方法之详解

js 常见的Object方法

配置OBS存储功能新搭建obs

在objective-c中保留对象

所有对象的父类(java.lang.Object)