Ext.JSON.decode():您正在尝试解码无效的 JSON 字符串

2023-12-10

我对此很陌生,两周以来一直在尝试解决我的问题,现在希望您能提供帮助。

我的 JSON 输出似乎无效,但我不确定我的问题是来自 PHP 还是 extjs 脚本。

我有一个组合框,当我单击它时,它应该显示一个选项列表。该列表基本上来自 Sql 表。

当我在 Chrome 中检查控制台时,我看到了我的输出,看起来不错。

ext-all-rtl-debug.js?_dc=1525825768241:10025 [E] Ext.JSON.decode(): You're trying to decode an invalid JSON String: Connection to DB succeed    
        [{"id":"3","businessunit":"kappa"}] 

我应该看到 kappa 并能够选择它,但我什么也没有,只有 JSON 错误。

这是我的 PHP:

    <?php
    require_once"..//..//_includes/headers.php";
    
    
$query = "select id, businessunit from Team_tab order by businessunit";
logit($query);
$result = odbc_exec($connection,$query);
while($row = odbc_fetch_array($result))
    {
    $myArray[] = array(
        'id'=>$row['id'],
        'businessunit'=>$row['businessunit'],
        );

        
    }

    if (isset($myArray))
    {
        if ( sizeof($myArray) > 0 )
        {
            $output = json_encode($myArray);
            echo $output;
        }
        else
        {
            echo '(success:true,"error":0)';    
        }
    }
    else
        {
            echo '(success:true,"error":0)';
        }
        
    ?>
    

这是我的 extjs:

Ext.define('EmpMen.view.Employee.CreateEmployee', {
        extend: 'Ext.window.Window',
        alias: 'widget.employee.createemployee',

    requires: [
        'EmpMen.view.Employee.CreateEmployeeViewModel',
        'EmpMen.view.Employee.CreateEmployeeViewController',
        'Ext.form.Panel',
        'Ext.form.field.ComboBox',
        'Ext.button.Button'
    ],

    controller: 'employee.createemployee',
    viewModel: {
        type: 'employee.createemployee'
    },
    reference: '',
    height: 325,
    itemId: 'createEmployee',
    width: 364,
    title: 'Enter Employee Information',

    layout: {
        type: 'vbox',
        align: 'stretch'
    },
    items: [
        {
            xtype: 'form',
            flex: 1,
            height: 170,
            padding: 10,
            width: 360,
            bodyPadding: 10,
            title: '',
            items: [
                {
                    xtype: 'textfield',
                    anchor: '100%',
                    reference: 'first',
                    itemId: 'first',
                    fieldLabel: 'First Name'
                },
                {
                    xtype: 'textfield',
                    anchor: '100%',
                    reference: 'last',
                    itemId: 'last',
                    fieldLabel: 'Last Name'
                },
                {
                    xtype: 'textfield',
                    anchor: '100%',
                    reference: 'tle',
                    itemId: 'tle',
                    fieldLabel: 'Title'
                },
                {
                    xtype: 'combobox',
                    anchor: '100%',
                    reference: 'bunit',
                    fieldLabel: 'Business Unit',
                    displayField: 'businessunit',
                    valueField: 'id',
                    bind: {
                        store: '{businessunit}'
                    }
                },
                {
                    xtype: 'textfield',
                    anchor: '100%',
                    reference: 'exp',
                    itemId: 'exp',
                    fieldLabel: 'Experience'
                },
                {
                    xtype: 'container',
                    margin: 10,
                    layout: {
                        type: 'hbox',
                        align: 'stretch',
                        pack: 'center'
                    },
                    items: [
                        {
                            xtype: 'button',
                            flex: 1,
                            reference: 'employeeForm',
                            maxWidth: 100,
                            width: '',
                            text: 'Save',
                            listeners: {
                                click: 'onButtonClick'
                            }
                        }
                    ]
                }
            ]
        }
    ],
    listeners: {
        afterrender: 'onCreateEmployeeAfterRender'
    }

});

Source: https://docs.sencha.com/extjs/6.0.2/modern/src/JSON.js.html#Ext.JSON-method-decode

根据Ext.JSON.decode发生错误的方法源,PHP 的响应应如下所示:

Connection to DB succeed    
    [{"id":"3","businessunit":"kappa"}]

这不是有效的 JSON 响应。它应该是 :

[{"id":"3","businessunit":"kappa"}]

根据提供的消息来源,我怀疑“连接到数据库成功”附加字符串应该出现的唯一位置是:

require_once"..//..//_includes/headers.php";

从 headers.php 中删除 echo 语句“连接到数据库成功”。

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

Ext.JSON.decode():您正在尝试解码无效的 JSON 字符串 的相关文章

随机推荐

  • 如何使用 WMI 列出设备类型?

    我正在使用 WMI Code Creator 生成代码来帮助列出设备管理器中显示的设备类型 我正在尝试检测是否存在以自己的类型显示在设备管理器中的调试器 例如 在我的计算机下列出 类别为计算机 磁盘驱动器 显示适配器 Jungo Jungo
  • 如何在 Windows 上使用 MinGW 构建 OpenCV 3.2.0 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 这篇文章包含了我 和其他用户 在从源代码构建库时遇到的所有问题 由于没有教程 我决定创建此类常见问题解答帖子 将所有解决方案放在一起 希望它会有所帮助 配置 OpenCV 3 2
  • 需要获取字符串中第二个破折号之后的所有内容吗?

    我有如下的字符串值 string str1 123 456 test string str1 123 456 test test string str1 123 REQ456 test string str1 123 REQ456 test
  • Scala:列表[Future]到Future[List],忽略失败的未来

    我正在寻找一种将任意长度的 Future 列表转换为 Future of 列表的方法 我正在使用 Playframework 所以最终我真正想要的是Future Result 但为了让事情变得更简单 我们只是说Future List Int
  • Java 十进制格式 - 与给定的精度一样

    我正在与DecimalFormat 我希望能够以给定的精度读取和写入小数 我正在转换为BigDecimal 本质上 我想要一个DecimalFormat它强制执行以下模式 d d 即 至少一位数字 然后可选地 小数点分隔符后跟至少一位数字
  • 在 WPF 中填充数字显示

    我有一个非常简单的位置读数 它只是一个应用了样式的 TextBlock 在那种样式中 我只是这样设置 还有比这更多的属性 但为了简洁我把它们去掉了 现在 我有一个使用这种样式的显示器 它将显示 0 0 到 30000 0 之间的数字 问题是
  • 如何让 VLC 因预取错误而关闭?

    Python 2 7 lib vlc 不断打印 00000000081257d0 prefetch stream error unimplemented query 264 in control每当有新歌响起时 p play 导致了这个问题
  • 使用自修改代码观察 x86 上的陈旧指令获取

    我被告知并从英特尔手册中读到 可以将指令写入内存 但指令预取队列已经获取了过时的指令并将执行这些旧指令 我未能成功观察到这种行为 我的方法如下 英特尔软件开发手册第 11 6 节指出 对当前缓存在处理器中的代码段中的内存位置进行写入会导致关
  • 如何在 Neo4j 中使用 SSL 证书代替自签名证书(或 Snakeoil.cert)

    对于生产 Neo4j 服务器 我需要使用非自签名的 SSL 证书 我将在下面的回复中发布经验教训 sudo vi etc neo4j neo4j server properties uncomment org neo4j server we
  • MySql 嵌套 SP 会成为瓶颈吗?

    我们有这个 MySQL SP 它调用嵌套 SP 看起来它在负载下表现不佳 该 SP 在负载下可能会变慢 因为它调用嵌套 SP 并使用临时表将数据传递到主 SP DELIMITER drop procedure if exists GeoAr
  • SWT 浏览器无法运行?

    我在使用 SWT 浏览器组件时遇到了一些问题 我正在运行 Ubuntu 11 04 AMD64 和 Eclipse 3 7 以及 Sun 的 Java SE 1 6 我的问题是我的浏览器无法初始化 当我使用 SWT NONE 标志时 出现错
  • Symfony2 表单和 Doctrine2 - 更新指定实体中的外键失败

    我有个人资料和研究 一个人可以完成多项学业 表单正确呈现 有一个按钮 添加新研究 使用 jQuery 我添加了另一个基于数据原型的子表单 效果很好 当我提交带有新子表单的此类表单时 出现数据库错误 Integrity constraint
  • 如何选择最佳的自动化工具与硒的组合[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 这可能是基于意见的问题 但我对选择自动化工具组合感到非常困惑 到目前为止 我一直在使用 Selenium webdriver maven 和 Java 来构建自动化框架 这看起来完全工作正
  • 如何在谷歌应用程序脚本中的表单项中获取图像

    我有多个多项选择题和其中包含图像的复选框 我正在尝试将所有问题编译成一个文档文件 如何获取问题中的图像 它们不在单独的图像项中 https docs google com forms d 1qdqNcaaiKxOoi4IiNc 3xcr1X
  • MySQL - 使用触发器复制表

    我正在尝试复制一个表with触发器 我知道我以前这样做过 只是不记得我是如何做到的以及在哪里学会了如何做到这一点 我试过了CREATE TABLE newname LIKE oldname and CREATE TABLE newname
  • 找出哪个类调用了另一个类中的方法

    PHP 有没有办法找出哪个对象调用了另一个对象中的哪个方法 Exmaple class Foo public function construct bar new Bar bar gt test class Bar public funct
  • 使用 Apache FOP 添加 PDF 可填写表单 (acrofield)

    我正在尝试将可填写的表单 以便最终用户可以使用 acrobat reader 将信息插入其中 然后保存 添加到我使用 Apache FOP 生成的 PDF 中 如果可能的话 我似乎找不到任何有关如何完成此操作的信息 Google 没有提供太
  • android 改造将数组发送为 x-www-form-urlencoded

    我正在使用 Retrofit 作为我的网络库 并且我想发送一个 JSON 数组作为x www form urlencoded 但我不知道该怎么做 这是我的请求 API POST book FormUrlEncoded Call
  • 表达式中的变量赋值如何工作?

    这是我以前见过的做法 但并不常见 在对值本身进行求值的同时将变量分配给一个值 或者是对表达式本身进行求值 例子 Outputs The value is 1 value 1 if var value echo The value is va
  • Ext.JSON.decode():您正在尝试解码无效的 JSON 字符串

    我对此很陌生 两周以来一直在尝试解决我的问题 现在希望您能提供帮助 我的 JSON 输出似乎无效 但我不确定我的问题是来自 PHP 还是 extjs 脚本 我有一个组合框 当我单击它时 它应该显示一个选项列表 该列表基本上来自 Sql 表