MODX 无限保存 SyntaxError: 预期表达式,得到 '<'

Posted

技术标签:

【中文标题】MODX 无限保存 SyntaxError: 预期表达式,得到 \'<\'【英文标题】:MODX endless saving SyntaxError: expected expression, got '<'MODX 无限保存 SyntaxError: 预期表达式,得到 '<' 【发布时间】:2017-06-27 04:01:14 【问题描述】:

我必须处理 MODX 革命,当我编辑任何页面并按保存时,进度条会一直加载,控制台显示 SyntaxError: expected expression, got '

试图禁用包管理器中的所有扩展

在 Chrome 59 和 Firefox 54 上测试

MODX 革命 2.5.2-pl

Ext JS 3.4

IIS 8

【问题讨论】:

您应该使用 FireBug 或类似工具检查您的页面。您可能会发现生成错误。 “' 我遇到了这个问题,是我的 Chrome 扩展程序 JSON Viewer Awesome 导致了这个问题 【参考方案1】:

好的,我解决了这个问题。在 Chrome 控制台中,我使用美化器来美化 ext-all.js。然后我用美化的javascript替换了压缩的javascript。经过一番调试,我发现了这段代码:

try 
    A = r.contentWindow.document || r.contentDocument || g.frames[l].document;
    if (A) 
        if (A.body) 
            if (/textarea/i.test((z = A.body.firstChild || ).tagName)) 
                w.responseText = z.value
             else 
                w.responseText = A.body.innerhtml
            
        
        w.responseXML = A.XMLDocument || A
    

问题在于 A.body.innerHTML 返回了用“pre”标签包裹的 JSON。不想深究,就补充了

w.responseText = w.responseText.match(/\.*\/)[0]

我猜这应该由 extjs 或 modix 团队修复...

【讨论】:

这不是正确的修复方法。问题是 AJAX 请求(经理经常使用)返回的是 HTML,而不是 JSON。它通常会在出现各种未捕获的 php 错误时执行此操作。检查传出的 AJAX 请求及其响应是您找出实际问题的方法,因此您可以针对该问题应用有针对性的修复。

以上是关于MODX 无限保存 SyntaxError: 预期表达式,得到 '<'的主要内容,如果未能解决你的问题,请参考以下文章

SyntaxError:预期的表达式,得到'<'错误 - vue

反应路由器参数化路由:SyntaxError:预期表达式,得到'<'

引导折叠错误:SyntaxError:字符串与预期的模式不匹配

MODX 无法保存 <base href="[[!++site_url]]" />

反序列化嵌套 JSON 结构时,Serde 返回 SyntaxError “预期值”

ExtJS/MODx CMP:网格编辑不保存到数据库,组合框不显示