我该如何解决此错误:未捕获的ReferenceError:jQuery未定义

时间:2019-04-29 05:50:44

标签: jquery error-handling requirejs magento2

我正在使用Magento 2中的SMS通知模块,这正在影响另一个用于隐藏价格的模块。 尝试打开“隐藏价格”仪表板时,出现此错误。

Uncaught ReferenceError: jQuery is not defined
    at smsnotification.js?v=6688:1
jquery-ui-1.9.2.js:14075 Uncaught TypeError: ui.jqXHR.success is not a function
    at $.<computed>.<computed>.tabsbeforeload (jquery-ui-1.9.2.js:14075)
    at HTMLDivElement.handlerProxy (jquery-ui-1.9.2.js:739)
    at HTMLDivElement.dispatch (jquery.min.js?v=6688:3)
    at HTMLDivElement.q.handle (jquery.min.js?v=6688:3)
    at Object.trigger (jquery.min.js?v=6688:4)
    at Object.jQuery.event.trigger (jquery-migrate.js:493)
    at HTMLDivElement.<anonymous> (jquery.min.js?v=6688:4)
    at Function.each (jquery.min.js?v=6688:2)
    at jQuery.fn.init.each (jquery.min.js?v=6688:2)
    at jQuery.fn.init.trigger (jquery.min.js?v=6688:4)

我试图添加requirejs代码,但没有成功。我在这里共享js文件代码。来自TEXT_Smsnotifications模块。 cpanel中的路径为

domain_file / app / code / TEXT / Smsnotifications / view / adminhtml / web / js / smsnotification.js

'''

 jQuery(document).ready(function(){
   jQuery(".click-me").click(function(){

   jQuery("#popup-mpdal").addClass('open-popop');
 });

   jQuery(".close-popop").click(function(){

   jQuery("#popup-mpdal").removeClass('open-popop');
 });});

''' 我还在脚本中添加了min.js。 domain_name / app / code / TEXT / Smsnotifications / view / adminhtml / layout / default.xml

<?xml version="1.0"?>
     <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_layout.xsd">
       <head>
          <css src="TEXT_Smsnotifications::css/bootstrap.min.css"/> 
          <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js" src_type="url" />
          <script src="TEXT_Smsnotifications::js/smsnotification.js" />
          <css src="TEXT_Smsnotifications::css/smsnotification.css" />
       </head> 
     </page>

预期结果:启用SMS通知模块后,另一个名为Hide Price的模块应该可以正常工作。

实际结果:启用SMS通知模块后,Magento 2的“管理控制台”中的“隐藏价格未打开”选项卡。

1 个答案:

答案 0 :(得分:0)

您需要在其他任何相关脚本标签之前(在标头中)添加此标签。

<script src="http://code.jquery.com/jquery-3.*.*.min.js"></script>

将*替换为所需的JQuery版本