【问题标题】:Running Python With Ajax Issues运行带有 Ajax 问题的 Python
【发布时间】:2020-01-03 20:32:53
【问题描述】:

我想在我正在构建的 Electron 应用中的按钮的“单击”事件上运行 Python 脚本。

我已在我正在构建的mainWindow.html 页面中包含以下代码以实现此目的:

<script src="https://code.jquery.com/jquery-latest.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>

<script>
// Run Upload
function runUpload(){
    $.ajax({
        url: "script_1_upload_to_drive.py",
        context: document.body
    }).done(function() {
        alert('Finished Python Script');;
    });
};
</script>

我得到的错误如下:

TypeError: $.ajax is not a function

我环顾四周,似乎常见的地方是人们不小心使用了 JQuery 的精简版。我尝试了以下版本,但没有任何改变错误: https://code.jquery.com/jquery-latest.min.js
http://code.jquery.com/jquery-3.3.1.min.js
https://code.jquery.com/jquery-3.2.1.min.js

【问题讨论】:

  • 打开浏览器控制台。看起来您使用的 integrity 哈希不正确。
  • 下载您要使用的版本并从您的服务器提供它,或者使用没有完整性哈希的版本,或者找到具有正确哈希的版本。我还建议从code.jquery.com/jquery 中选择一个不同的文件,因为“最新”指向 1.11.x,它不是最新的(1.12.4 是最新的 1X 版本)跨度>
  • 等等,你到底从 npm 下载了什么?
  • 如果你是从 npm 下载 jQuery,为什么需要从 code.jquery.com 引用呢?你已经下载了...
  • 我没有从 npm 使用 jQuery 的经验,但这听起来肯定是错误的。如果你用 npm 下载 jQuery,你在本地就有一个版本。您不需要引用 CDN 版本

标签: javascript python jquery html electron


【解决方案1】:

你可以试试这个:

<script src="https://code.jquery.com/jquery-3.4.0.min.js" integrity="sha256-BJeo0qm959uMBGb65z40ejJYGSgR7REI4+CW1fNKwOg=" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/jquery-migrate-3.0.1.min.js" integrity="sha256-F0O1TmEa4I8N24nY0bya59eP6svWcshqX1uzwaWC4F4=" crossorigin="anonymous"></script>

并使用事件侦听器来确保文档已加载:

window.addEventListener("load", function(event) {
   // The document load is finished, $ should be defined
   // Do what you want here
});

【讨论】:

  • 不知道为什么,但如果我使用您发布的第一个脚本和 Google 托管的 3.4.1 版本,它就可以工作。但是,如果我使用其中一种,它就不起作用。太混乱了。
  • 我也不知道,我认为它们已损坏或类似的东西。这是我经过多次搜索找到的解决方案(版本)。对于事件侦听器,有时您不需要它,有时另一个脚本(例如浏览器扩展)例如“阻止”加载,并且您的脚本在 jquery 初始化之前被触发。
猜你喜欢
  • 2020-02-27
  • 1970-01-01
  • 2010-10-05
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 2013-02-26
  • 1970-01-01
  • 2022-11-12
相关资源
最近更新 更多