来自 .ajax() 调用的数据的 jQuery .find() 正在返回“[object Object]".

2023-10-02前端开发问题
10

本文介绍了来自 .ajax() 调用的数据的 jQuery .find() 正在返回“[object Object]".而不是 div的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

试图在 .ajax() 使用 .find().不幸的是,alert(result) 不返回 div#result.

这是我的代码:

$.ajax({网址:网址,缓存:假,成功:功能(响应){结果 = $(response).find("#result");警报(响应);//按预期工作(返回所有 html)警报(结果);//返回 [object 对象]}});

解决方案

具体回答您的问题,它似乎工作正常.您说它返回 [object Object],这就是 jQuery 使用 find("#result") 方法返回的内容.它返回一个匹配 find 查询的 jQuery 元素.

尝试获取该对象的属性,例如 result.attr("id") - 它应该返回 result.

<小时>

一般来说,这个答案取决于 #result 是否是顶级元素.

如果#result是顶级元素,

<div id="结果"><span>文本</span></div><div id="其他顶级元素"></div>

find() 将不起作用.相反,使用 filter():

var $result = $(response).filter('#result');

如果#result不是顶级元素,

<div id="结果"><span>文本</span></div></div>

find() 会起作用:

var $result = $(response).find('#result');

Trying to find div element with id="result" in returned data from .ajax() using .find(). Unfortunately, alert(result) doesn't return div#result.

Here is my code:

$.ajax({
    url: url, 
    cache: false,
    success: function(response) {
        result = $(response).find("#result");
        alert(response); // works as expected (returns all html)
        alert(result); // returns [object Object]
    }
});

解决方案

To answer your question specifically, it seems to be working correctly. You said that it returns [object Object], which is what jQuery will return with the find("#result") method. It returns a jQuery element that matches the find query.

Try getting an attribute of that object, like result.attr("id") - it should return result.


In general, this answer depends on whether or not #result is the top level element.

If #result is the top level element,

<!-- #result as top level element -->
<div id="result">
  <span>Text</span>
</div>
<div id="other-top-level-element"></div>

find() will not work. Instead, use filter():

var $result = $(response).filter('#result');

If #result is not the top level element,

<!-- #result not as top level element -->
<div>
  <div id="result">
    <span>Text</span>
  </div>
</div>

find() will work:

var $result = $(response).find('#result');

这篇关于来自 .ajax() 调用的数据的 jQuery .find() 正在返回“[object Object]".而不是 div的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

ajax请求获取json数据并处理的实例代码
ajax请求获取json数据并处理的实例代码 $.ajax({ type: 'GET', url: 'https://localhost:44369/UserInfo/EditUserJson',//请求数据 data: json,//传递数据 //dataType:'json/text',//预计服务器返回的类型 timeout: 3000,//请求超时的时间 //回调函数传参 suc...
2024-11-22 前端开发问题
215

layui 单选框、复选框、下拉菜单不显示问题如何解决?
1. 如果是ajax嵌套了 页面, 请确保 只有最外层的页面引入了layui.css 和 layui.js ,内层页面 切记不要再次引入 2. 具体代码如下 layui.use(['form', 'upload'], function(){ var form = layui.form; form.render(); // 加入这一句});...
2024-11-09 前端开发问题
313

layui中表单会自动刷新的问题
layui中表单会自动刷新的问题,因为用到layui的表单,遇到了刷新的问题所以记录一下: script layui.use(['jquery','form','layer'], function(){ var $ = layui.jquery, layer=layui.layer, form = layui.form; form.on('submit(tijiao)', function(data){ a...
2024-10-23 前端开发问题
262

jQuery怎么动态向页面添加代码?
append() 方法在被选元素的结尾(仍然在内部)插入指定内容。 语法: $(selector).append( content ) var creatPrintList = function(data){ var innerHtml = ""; for(var i =0;i data.length;i++){ innerHtml +="li class='contentLi'"; innerHtml +="a href...
2024-10-18 前端开发问题
125

Rails 3.1 ajax:成功处理
Rails 3.1 ajax:success handling(Rails 3.1 ajax:成功处理)...
2024-04-20 前端开发问题
11

CoffeeScript 总是以匿名函数返回
CoffeeScript always returns in anonymous function(CoffeeScript 总是以匿名函数返回)...
2024-04-20 前端开发问题
13