在我的项目中,我有 javascript 遍历一组单选按钮。首先,它检查名称集中的选定按钮是否已更改,如果已更改,则记录该行新选定按钮的值,将其附加到变量dataString
中,然后再转到下一个按钮集。这一切都很好,它完美地收集了所有数据。但是,当我尝试通过 AJAX 发送该数据时遇到了问题。
对于更改的每一行,我附加一个rowName
变量和一个deviceName
变量 do dataString
。理想情况下,我想发送这些,这样当我将数据发送到 Python 时,我最终会得到一个rowName
列表和一个deviceName
列表,就像发送多个同名变量时一样。
我的 AJAX 调用如下:
var call= $.ajax({
type: "POST",
url: "http://localhost/cgi-bin/savestate.py",
data: dataString
}).done(function() {
document.getElementById("upper").innerHTML+=(call.responseText);
});
正如我所说,我需要发送的数据收集得足够好。现在,dataString
已格式化,如下所示:
"{rowName: 'firstRowName', deviceName: 'firstDeviceName', rowName: 'secondRowName', deviceName: 'secondDeviceName'}"
我还尝试更改 AJAX 调用,使data:
调用看起来像:
data: {dataString}
并格式化dataString
为:
"rowName: 'firstRowName', deviceName: 'firstDeviceName', rowName: 'secondRowName', deviceName: 'secondDeviceName'"
无论哪种方式我尝试发送它,数据都不会到达 python 脚本。当我从 Python 返回数据时,它显示为
FieldStorage(None, None, [])
现在,由于data:
AJAX 调用中属性的格式是{keyname: value, etc}
,是否可以以该格式在预制列表中发送数据,或者我是否必须更改格式化方式dataString
并以其他方式发送?