jQuery $.ajax 无提示失败,没有错误消息,服务器响应 200 OK

2024-04-11

我正要认真思考这个问题。我使用非常简单的 jQuery ajax 调用从数据库获取值,并用这些值填充一些选择元素,所有这些都以 JSON 形式返回。它在大多数浏览器上对我来说都是无缝工作的,但是客户报告说他们和他们的客户都没有看到结果。

我一路上添加了一些 Console.log() 命令以确保代码正在执行,而且确实如此。有时,对相关 URL 的 ajax GET 有效,有时仍然返回 200 OK,但代码根本不会进一步执行,并且错误回调中不会显示任何 ajax 错误消息。

这是我正在使用的代码,有人可以发现一些明显的可能导致某些浏览器卡住的东西吗?如果是这样,如果您能指出这一点,我将不胜感激:

        var $j = jQuery.noConflict(true);
        $j(document).ready(function(){
            //console.log("jQuery has loaded");
            //console.log("attempting to load country list via AJAX call now");
            $j.ajax({
                url: 'http://www.topplaces.co.za/templates/seb_one/positions/search_establishments_filter/search/db.php?q=countries&rand='+Math.random(),
                success: function(data){
                    //console.log("Successfully got country list, going to populate the dropdown now");
                    if(data.length){
                        $j("#country").children("option:not(:first)").remove();
                        $j("#country").attr("disabled", false);
                        $j.each(data, function(resultIndex, result){
                            var o = new Option();
                            $j(o).html(result.country).val(result.country);
                            $j("#country").append(o);
                        })
                        //console.log("Country list should be populated now?");
                    }
                },
                error: function (xhr, ajaxOptions, thrownError){
                    //console.log(xhr.responseText);
                    console.log(thrownError);   
                },
                dataType: 'json',
                cache: false
            })

            $j("#country").live('change', function(){
                var id = $j(this).val();
                if(id == ""){
                    $j("#province").attr("disabled", "disabled");
                    $j("#town").attr("disabled", "disabled");
                    return false;
                }
                $j.ajax({
                    url: 'http://www.topplaces.co.za/templates/seb_one/positions/search_establishments_filter/search/db.php?q=provinces&c='+id+'&rand='+Math.random(),
                    success: function(data){
                    if(data.length){
                        $j("#province").children("option:not(:first)").remove();
                        $j("#province").attr("disabled", false);
                        $j.each(data, function(resultIndex, result){
                            var o = new Option();
                            $j(o).html(result.province).val(result.province);
                            $j("#province").append(o);
                        })
                    }
                },
                dataType: 'json',
                cache: false
                })
            });

            $j("#province").live('change', function(){
                var id = $j(this).val();
                if(id == ""){
                    $j("#town").attr("disabled", "disabled");
                    return false;
                }
                $j.ajax({
                    url: 'http://www.topplaces.co.za/templates/seb_one/positions/search_establishments_filter/search/db.php?q=towns&p='+id+'&rand='+Math.random(),
                    success: function(data){
                    if(data.length){
                        $j("#town").children("option:not(:first)").remove();
                        $j("#town").attr("disabled", false);
                        $j.each(data, function(resultIndex, result){
                            var o = new Option();
                            $j(o).html(result.town).val(result.town);
                            $j("#town").append(o);
                        })
                    }
                },
                dataType: 'json',
                cache: false
                })
            });

        })

我已经注释掉了 Console.log 命令,因为客户端在 IE 上收到错误消息是因为没有控制台。

编辑:我没有提到这是同一个域请求,因此遵守同源策略

完整的网站在这里:http://www.topplaces.co.za/ http://www.topplaces.co.za/右侧是一个动态选择组,从国家/地区开始并发起 AJAX 调用,直到选择一个省份。问题是,很多人说国家对他们来说没有负担......

亲切的问候, 西蒙


检查您的服务器应用程序是否始终返回有效的 JSON 对象,否则它将不会被接受,因为您设置dataType: 'json'。在这种情况下,error函数将被执行而不是success.

Remove dataType参数并看看会发生什么,尝试解析传入的数据$.parseJSON()- 如果你的 JSON 无效,它会抛出异常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery $.ajax 无提示失败,没有错误消息,服务器响应 200 OK 的相关文章

  • 如何在Jquery数据表中选择一行

    我在用数据表 http datatables net 在我的应用程序中 每当用户单击任何行时 我想突出显示它并从所选行中选择一些值 oTableTools sRowSelect single fnRowSelected function n
  • 更新 Parse.com 中的一行

    我所拥有的是 当单击编辑按钮时 两个输入字段中的值将创建一个新行 并删除旧行 下面是我使用的代码 但我想要的是更新原始行而不是删除原始行 实例 http jsbin com uyonek 2使用下面的代码是如何工作的 editBtn onc
  • 使用 slice 函数对 JSON 对象进行切片

    我想对 JSON 数组进行切片 但出现以下错误 对象 没有方法 切片 以下是我的代码 scope getPagedDataAsync function pageSize page searchText setTimeout function
  • 如何验证电子邮件地址与网站域名是否匹配?

    我的表单上有 2 个输入字段 电子邮件和网站 如何使用 JQuery 验证电子邮件地址域必须与网站域匹配 例如 如果网站是http example com http example com或带 www 或不带 http 或不带http ww
  • 使用 jQuery 的 .trigger('dragstart') 实现 HTML5 的拖放功能时如何 .setData/.getData

    当使用 jQuery 的 trigger dragstart 在具有 ondragstart drag event 属性的元素上触发函数时 如何使用 setData getData 实现 HTML5 在触摸设备上的拖放 流程示例 用户通过
  • 使用过渡添加子项时 div 的平滑增长

    尽管使用了以下代码 但其行为并不符合我的预期transition所以可能有些事情我不明白 理想情况下 单击该按钮会将一个子项添加到id2div 并制作id1分区增长smoothly因此 function id1 button click g
  • 如何使用 jQuery 将各种元素包装在 div 标签中?

    我有一个 html 结构 如下所示 h5 Title h5 p Content p ul li Item li li Item li ul p Content p h5 Title h5 p Content p ul li Item li
  • PHP header() 和 jquery mobile

    我想使用 php header Location newpage php 进行重定向 我没有收到错误 但 Jquery mobile 似乎无法加载目标页面 并且地址栏仍保留旧地址 请问您有什么建议吗 Thanks 尝试添加data ajax
  • jQuery 或 JavaScript 中的“$”符号是什么意思? [复制]

    这个问题在这里已经有答案了 可能的重复 JavaScript 中 符号的含义是什么 https stackoverflow com questions 1150381 what is the meaning of sign in javas
  • 使用 jQuery UI 图标

    jQuery UI 在精灵图像中提供了方便的图标 看到主题滚轮 http jqueryui com themeroller 我有一个input我想要时钟图标的元素 带有类 ui icon clock 作为背景图像 怎样才能有一个背景图标in
  • 如何使用 jQuery 通过单击按钮来选择下拉列表中的所有值?

    如何通过在 JavaScript 中使用 jQuery 单击按钮来选择下拉列表中的所有值 function select children option attr selected selected 应该做 当然你需要一个SELECT具有属
  • 什么是 jQuery valHook?

    阅读完有关valHooks in a jQuery 缺陷 http bugs jquery com ticket 9319最近在一个fiddle http jsfiddle net bV5fu 1 我搜索了 jQuery 文档和 Googl
  • 如何使用JQuery调用SWAL中成功的函数?

    第二个功能不起作用 它没有收到从第一个函数传递的 id 这是我的 JQuery 代码 swal title Are you sure text You will not be able to recover this record type
  • 解析 PHP 响应:未捕获的语法错误:意外的标记 <

    我正在使用 AJAX 来调用 PHP 脚本 我唯一需要从响应中解析的是脚本生成的随机 ID 问题是 PHP 脚本会引发许多错误 这些错误实际上很好 不会妨碍程序功能 唯一的问题是当我跑步时 parseJSON response I get
  • 第一个单词选择器

    如何选择 div 中的第一个单词 我需要能够在第一个单词后插入换行符 或者将其包装在 span 标记中 我需要对具有相同类的页面上的多个 div 执行此操作 替换 HTML 将导致事件处理程序解除绑定 替换元素的整个文本将导致 HTML 标
  • 带有子节点的拖放区域

    我有一个带有多个子节点的拖放区域 主要元素有dropenter and dropleave事件 但是 如果您将文件拖动到主元素内部和子节点上方 则dropleave被触发 如何处理 以便dropleave仅当拖动的元素和鼠标位于主元素之外时
  • 如何将 jquery 添加到 Appcelerator Titanium Mobile Work?

    是否可以将 jquery 集成到 Titanium Appcelerator 中并且它可以正常工作吗 否则我们不能将jquery集成到titanium appcelerator中 有人帮助我吗 你到底想做什么 我不确定它在没有 DOM 的情
  • 如何在 jQuery 中选择时对 DOM 元素进行排序?

    我的页面上有以下 DIV div Div 3 div div Div 2 div div Div 1 div div Div 6 div div Div 5 div div Div 4 div 我正在尝试使用 jQuery 代码选择 Div
  • 如何防止IE11弹出(您确定要离开此页面)

    我正在处理一个页面 除了一个下拉菜单可供选择外 我无需输入任何内容 但在 IE11 中 当我尝试转到下一页时 它会弹出该消息 我想阻止这种弹出的发生 所以我只是想知道 IE11 中弹出窗口的默认行为是什么 因为它不会出现在 Chrome 或
  • HTML:JavaScript:阻止表单提交并调用 Javascript 函数

    我想在按下表单中的提交按钮时进行 AJAX 调用 事实上我无法删除

随机推荐

  • ASP.NET 母版页 DefaultButton 覆盖

    我有一个带有表单元素的母版页 并将 defaultbutton 属性设置为服务器端 ImageButton 在我的其中一个页面上 我想通过在 Page Load 事件中设置 Forms DefaultButton 来 覆盖 母版页默认按钮属
  • UILabel 文本没有改变,但是 xx.title 正在工作

    我有两个视图控制器 在第一个视图控制器中 我有名称列表 当我单击它时 我希望在第二个视图控制器中显示相同的名称 我有下面的代码 void tableView UITableView tableView didSelectRowAtIndex
  • didChangeObject:未调用 NSFetchedResultsController

    我几乎尝试了所有方法 但无法找出问题所在 我有一个 NSFetchedResultsController 并从核心数据中获取一些帖子 然后我有一个方法 可以将新帖子插入到同一上下文中并保存上下文 通常 现在应该调用 didChangeObj
  • 将图像置于 div 中居中

    我已经在 a 中设置了图像的边框div成为无 我现在想将该图像放在其包含的 div 中居中 我尝试过使用margin 0 auto 但这没有用 我确信我忽略了一些愚蠢的事情 但我想寻求 stackoverflow 社区的帮助 这样我就不需要
  • Azure WebJobs SDK 基础知识

    我想了解 Azure WebJobs SDK 上的 JobHostConfiguration 我在哪里可以找到配置 它在 app config 上吗 JobHostConfiguration 如何识别这是不是 IsDevelopment 我
  • 自定义属性与非自定义属性?

    实现的东西ICustomAttributeProvider接口将允许您获取已通过以下方式应用到它的自定义属性GetCustomAttributes方法 据我了解 自定义属性基本上是一个特殊的类 以 Attribute 结尾并扩展Attrib
  • iCloud Drive 通过 NSMetadataQuery 列出目录和文件

    I have built an iCloud enabled app named rmc My app now can upload files to iCloud Drive and get metadata by NSMetadataQ
  • Asp.net MVC Web Api Http 放置和删除请求失败

    我正在使用 Asp net MVC 4Web Api项目 我的应用程序使用 mvc 来实现网站 它向 Web API 发出 http 请求以实现服务器功能 对控制器的常规页面请求工作正常 并且能够显示网页 该应用程序能够使get and p
  • Hibernate Annotations - 字段访问和属性访问哪个更好?

    这个问题有点相关Hibernate注解放置问题 https stackoverflow com questions 305880 hibernate annotation placement question 但我想知道哪个是better
  • 窗口后 Apache-beam 挂在 groupbykey 上 - 不触发

    TLDR 如何使用 python SDK 更正触发计数窗口 Problem 我正在尝试创建一个用于转换和索引维基百科转储的管道 目标是 从压缩文件中读取 只需一个进程并以流式传输方式 因为该文件不适合 RAM 并行处理每个元素 ParDo
  • 隐式声明的特殊成员函数

    基本上隐式声明了四个特殊函数 默认构造函数 默认析构函数 默认赋值运算符 默认成员复制运算符 问题 如果其中任何一个是由用户定义的 例如 析构函数 其余三个函数将不会被声明 这是正确的吗 或者 它只适用于默认构造函数 而复制构造函数 如果你
  • 寻找一个已经实现二叉树的java库[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有可以使用的具有二叉树的java库 我并不期待测试和实施我自己的 Java 标准 API 只包含普遍
  • (使用 -source 7 或更高版本在交换机中启用字符串)错误;Netbeans 7.1.2

    我使用的是 JDK 7 和 Netbeans IDE 7 1 2 正在经历在 switch 中使用字符串 http docs oracle com javase tutorial java nutsandbolts switch html
  • 安装 Firebase for React 时出现 Grpc 错误

    我已经尝试修复这个错误两天了 我所做的就是得到错误 创建反应应用程序名称 cd 应用程序名称 npm install firebase save 这是未能正确安装的部分 这些是我尝试过的主要修复 安装最新版本的Python 3并将其添加到W
  • 从 ES 6 中的对象获取一些属性的单行代码

    如何在 ES6 中以最紧凑的方式编写一个只需要几个属性的函数 我想出了使用解构 简化对象文字的解决方案 但我不喜欢代码中重复字段列表 有没有更苗条的解决方案 v gt let id title v return id title 这是更精简
  • 在 d3.js 中绘制已投影的 geoJSON 地图

    使用 d3 js v3 时 我在使用 geoJSON 数据绘制地图时遇到问题 代码和生成的地图显示在 http bl ocks org 73833ec90a8a77b0e29f http bl ocks org 73833ec90a8a77
  • 如何从主查询中选择计数到子查询中

    我想将主查询中选择的记录数获取到子查询中 我当前尝试执行的查询是 SELECT cat id category name seo name SELECT count category name FROM ccs coupons WHERE
  • 对 stdin、stdout 和 stderr 感到困惑吗?

    我对这三个文件的用途感到相当困惑 如果我的理解是正确的话stdin是程序写入其请求以在进程中运行任务的文件 stdout是内核将其输出写入其中的文件 并且请求它的进程从中访问信息 并且stderr是输入所有异常的文件 在打开这些文件以检查这
  • x86 部分寄存器使用

    如果我在 8 位寄存器中保存一个值 比如说 10DH然后是 8 位寄存器中的另一个值 15DL 这会起作用吗 或者它们会互相覆盖吗 因为它们都是 32 位的EDX登记 mov 10 DH mov 15 DL cmp DL DH jle do
  • jQuery $.ajax 无提示失败,没有错误消息,服务器响应 200 OK

    我正要认真思考这个问题 我使用非常简单的 jQuery ajax 调用从数据库获取值 并用这些值填充一些选择元素 所有这些都以 JSON 形式返回 它在大多数浏览器上对我来说都是无缝工作的 但是客户报告说他们和他们的客户都没有看到结果 我一