我一直在研究如何将AJAX调用集成到Python Django应用程序中,而我对两者都有些陌生。我一直在这里遵循建议:
https://www.quora.com/Can-I-execute-a-Python-function-from-JavaScript
AJAX和Django建议分别导致了this和this。两者对我来说都非常有意义。理想的最终结果是,该第四个文件夹下的模板(仪表板)在其上面的api文件夹下的名为logic.py的文件中调用一个函数:
在连接到django模板的JavaScript文件中,我从上面列出的AJAX资源中窃取了以下代码,并对其进行了一些轻松的编辑:
window.onerror = function() {
debugger;
}
// browser - safety
var request;
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
} else if(window.ActiveXObject) { // ie
try {
request = new ActiveXObject('Msxml2.XMLHTTP');
}
catch(e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP');
}
catch(e) {}
}
}
function step2() {
console.log('something');
}
function testLogin() {
request.open('POST', '../../../api/logic');
// I've also been trying ^^^ logic.py, if it matters
request.send(null);
console.log('testLogin ran');
step2();
}
request.onreadystatechange = function () {
if(request.readystate === 4) {
if(request.status === 200) {
console.log(request.responseText);
}
}
}
它仍然与django视图中的URL POST操作挂钩,因此当我按下有问题的“提交”按钮时,我看到生成了以下两个请求:
那是该位置的正确文件路径:
所以我想知道我是否缺少有关AJAX设置,它与Django交互的方式或两者的某种组合的东西。我一直在研究的其他资源:
Call Python function from Javascript code https://codehandbook.org/python-flask-jquery-ajax-post/ https://www.makeuseof.com/tag/python-javascript-communicate-json/ https://bytes.com/topic/javascript/answers/737354-how-call-python-function-javascript
我本来是从今天的早些时候开始的,所以还有更多,但不用说我从看任何一个都没有立即看到我的问题。任何帮助深表感谢。
答案 0 :(得分:0)
所以这最终成为Django URL设置的一个怪癖,我不敢相信我没有弄清楚它,但是我已经有一段时间没有进入代码库了。
在我们的urls.py脚本中,我正在ping的位置(位于所描述的URL的位置)上具有重定向,因此,流量没有到达我认为的位置。