热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jQuery教程分享jQueryajaxjson响应的长度未定义且数据不正确

我正在尝试获取一个字典对象,该对象在服务器端转换为json对象,(以及正确的内容类型标题),但由于某种原因,即使我可以访问部分数据,其他部分也不显示up和jquery中的json对

我正在尝试获取一个字典对象,该对象在服务器端转换为json对象,(以及正确的内容类型标题),但由于某种原因,即使我可以访问部分数据,其他部分也不显示up和jquery中的json对象的长度等于0。

这是我的jquery调用:

$.ajax({ type : "POST", url : cl._url, //data : 'text='+text, data: "{}", contentType: "application/json; charset=utf-8", dataType : "json", error : function(XHR, status, error) { alert("There was an error processing the request.nn"+XHR.responseText); }, success : function(json){ if (!json.length) { alert('There are no incorrectly spelled words...'+json[0]+ ' ' + json.length); } else { // highlight bad words } cl.$container.html(html); // execute callback function, if any (callback != undefined) && callback(); } }); 

我通常会使用此代码获取警报框,并且json [0]按预期打印出99。 但是json.length是“未定义的”。 所以从某种意义上说,返回的json是正确的,但我的代码不会检测它并使用它。

当我直接进入我的ashx页面,我的json数据被打印在屏幕上时,我得到了这个json对象:

 {"id":1,"json":[5,10,15,20],"0":"99"} 

只是一个示例json输出。 那怎么来json.length不是3 ???

更新:所以我改变了我的asp.net代码,从Dictionary到List,然后添加了相同的值。 突然间,长度现在正在发挥作用。 ?!?!?! 所以Javascript中的对象没有长度?

    对象没有长度属性,除非您给它们一个。 数组有,但是使用[]而不是{}创建数组。

    如果你想知道一个对象有多少属性,你必须循环它们并计算它们:

     var count = 0; for (var foo in bar) { if (bar.hasOwnProperty(foo) { count++; } } 

    调试此方法的最佳方法是在Firebug控制台下检查响应。 看看你是否回复了有效的回复。

    您可以使用以下命令将对象转换为JSON

     var jsOnVariable= JSON.stringify(objectVariable); var jsOnVariableLength= jsonVariable.length ; 

    并打印长度:

    需要了解更多jQuery教程分享jQuery ajax json响应的长度未定义且数据不正确,都可以关注jQuery技术分享栏目—编程笔记

     alert('Length : ' + jsonVariableLength ); 

      以上就是jQuery教程分享jQuery ajax json响应的长度未定义且数据不正确相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注(编程笔记)。


      推荐阅读
      • 本文探讨了如何利用 jQuery 的 JSONP 技术实现跨域调用外部 Web 服务。通过详细解析 JSONP 的工作原理及其在 jQuery 中的应用,本文提供了实用的代码示例和最佳实践,帮助开发者解决跨域请求中的常见问题。 ... [详细]
      • 本文详细探讨了 jQuery 中 `ajaxSubmit` 方法的使用技巧及其应用场景。首先,介绍了如何正确引入必要的脚本文件,如 `jquery.form.js` 和 `jquery-1.8.0.min.js`。接着,通过具体示例展示了如何利用 `ajaxSubmit` 方法实现表单的异步提交,包括数据的发送、接收和处理。此外,还讨论了该方法在不同场景下的应用,如文件上传、表单验证和动态更新页面内容等,提供了丰富的代码示例和最佳实践建议。 ... [详细]
      • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
      • Web开发框架概览:Java与JavaScript技术及框架综述
        Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
      • 深入探索HTTP协议的学习与实践
        在初次访问某个网站时,由于本地没有缓存,服务器会返回一个200状态码的响应,并在响应头中设置Etag和Last-Modified等缓存控制字段。这些字段用于后续请求时验证资源是否已更新,从而提高页面加载速度和减少带宽消耗。本文将深入探讨HTTP缓存机制及其在实际应用中的优化策略,帮助读者更好地理解和运用HTTP协议。 ... [详细]
      • Framework7:构建跨平台移动应用的高效框架
        Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
      • 解决Bootstrap DataTable Ajax请求重复问题
        在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
      • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
      • 本文深入探讨了Ajax的工作机制及其在现代Web开发中的应用。Ajax作为一种异步通信技术,改变了传统的客户端与服务器直接交互的模式。通过引入Ajax,客户端与服务器之间的通信变得更加高效和灵活。文章详细分析了Ajax的核心原理,包括XMLHttpRequest对象的使用、数据传输格式(如JSON和XML)以及事件处理机制。此外,还介绍了Ajax在提升用户体验、实现动态页面更新等方面的具体应用,并讨论了其在当前Web开发中的重要性和未来发展趋势。 ... [详细]
      • 利用 PHP APICommonUrl 中转实现 jQuery JSONP 请求优化 ... [详细]
      • Ext JS MVC系列一:环境搭建与框架概览
        本文主要介绍了如何在项目中使用Ext JS 4作为前端框架,并详细讲解了Ext JS 4的MVC开发模式。文章将从项目目录结构、相关CSS和JS文件的引用以及MVC框架的整体认识三个方面进行总结。 ... [详细]
      • javascript分页类支持页码格式
        前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
      • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
        技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
      • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
        本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
      • 本文详细解析了 Python 2.x 版本中 `urllib` 模块的核心功能与应用实例,重点介绍了 `urlopen()` 和 `urlretrieve()` 方法的使用技巧。其中,`urlopen()` 方法用于发送网络请求并获取响应内容,而 `urlretrieve()` 方法则用于下载文件并保存到本地。文章通过具体示例展示了这两个方法在实际开发中的应用场景,帮助读者更好地理解和掌握 `urllib` 模块的使用。 ... [详细]
      author-avatar
      难道我不配_179
      这个家伙很懒,什么也没留下!
      PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
      Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有