gpt4 book ai didi

javascript - ajax 将参数传递给 python 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:28:29 25 4
gpt4 key购买 nike

我有这个 python CGI 脚本,我使用以下命令启动并运行它:

python3 -m http.server --cgi 8000

python 脚本的重要部分是这样的:

parameter = cgi.FieldStorage()
artiest = parameter.getvalue("artiest")
rijen_aantal = parameter.getvalue("rijen")
kolommen_aantal = parameter.getvalue("kolommen")

现在我想做的是在我的 html/javascript 中,我想将从表单中获取的值传递给我的 cgi 脚本。

在 html 中,我使用 bootstrap 编写了以下表格:

<form class="form-inline" role="form" method="POST" action="cgi-bin/schuifpuzzel.py">
<div class="form-group">
<label for="artiest">Artiest:</label>
<input type="text" class="form-control margin-right" id="artiest">
</div>
<div class="form-group">
<label for="rij">Rijen:</label>
<input type="number" class="form-control margin-right" id="rij">
</div>
<div class="form-group">
<label for="kolom">Kolommen:</label>
<input type="number" class="form-control margin-right" id="kolom">
</div>
<button type="submit" class="btn btn-default">Submit</button>

我在 javascript 中编写了以下代码,我在 html header 中调用了这些代码。

$(function () {

var artiest = document.getElementById("myForm").elements[0].value;
var rijen = document.getElementById("myForm").elements[1].value;
var kolommen = document.getElementById("myForm").elements[2].value;
$.ajax({
url: 'cgi-bin/schuifpuzzel.py',
type: 'post',
datatype: "json",
data: JSON.stringify({'artiest': artiest, "rijen": rijen, "kolommen": kolommen}),
success: function(response) {
alert(response);
}
})

});

但由于某种原因,这是行不通的。它所做的只是下载 .py。

我在这里做错了什么?

更新:

新问题。我认为发布问题有点解决了。

但是我得到了以下错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource

我已经通过使用 yoshyosh 发布的解决方案解决了这个问题 post

但现在由于某种原因我收到了这个错误: enter image description here

我不确定为什么,因为我的脚本路径是正确的?

enter image description here

最佳答案

在表单上使用 .serialize() 将数据作为表单数据而不是 JSON 发送。

$.ajax({
...
data: $('.form-inline').serialize(),
...
})

关于javascript - ajax 将参数传递给 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37089951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com