我使用以下调用序列对后端Python程序进行Ajax调用:
var dataArray = {
"company_id":company_id,
"plan_id":plan_id,
"demographics_to_save":demographics_to_save,
"takeup":takeup,
"number_of_employees_with_dependents":total_deps,
"percentMale":male_pct / 100,
"percentEmployeesWithDependents":deps_pct / 100
};
$.ajax({
url: "http://ec2.xx.xx.xx.compute-1.amazonaws.com:8080/save_census_manual",
dataType: 'json',
async: false,
data: dataArray,
success: function(data) {
company_id = data.company_id;
plan_id = data.plan_id;
} // success
}); 变量: demographics_to_save是一个嵌套数组,如Chrome控制台中所示:
dataArray {company_id: 84,plan_id: 61,demographics_to_save:数组(10),占用:"0.68",number_of_employees_with_dependents: 2,…Company_id: 84demographics_to_save:数组(10)0:数组(4)0: 21: 12: 13: 1长度: 4__proto__:数组(0)1:(4) 0,0,0,00: 01: 02: 03: 0长度: 4__proto__:数组(0)2:(4) 0,0,0,03:(4) 0,0,04:(4) 0,0,05:(4)0,0,05:(4)0,0,0,006:(4) 0,0,0,07:(4) 0,0,0,00: 01: 02: 03: 0长度: 4__proto__:数组(0)8:(4) 0,0,0,09:(4)0,0,0,0长度: 10__proto__:数组(0)number_of_employees_with_dependents:2% 2percentEmployeesWithDependents: 0.67%0.68: 0.67plan_id: 61个接收:"0.68"proto:Object
调用Ajax调用时,Python使用: 404未找到意外查询字符串参数进行响应: demographics_to_save3、demographics_to_save1、demographics_to_save2、demographics_to_save7、demographics_to_save8、demographics_to_save6、demographics_to_save、demographics_to_save9、demographics_to_save5、demographics_to_save4
回溯(最近一次调用):文件"/usr/local/lib/python3.5/dist-packages/cherrypy/_cpdispatch.py",第60行,在 call #en0# self.callable(*self.args,**self.kwargs) TypeError: save_census_manual()中有一个意外的关键字参数'demographics_to_save2‘
在处理上述异常的过程中,发生了另一个异常:
追溯(最近一次调用):文件"/usr/local/lib/python3.5/dist-packages/cherrypy/_cprequest.py",行631,在响应self._do_respond(path_info)文件"/usr/local/lib/python3.5/dist-packages/cherrypy/_cprequest.py",行690中,在_do_respond response.body = self.handler() File "/usr/local/lib/python3.5/dist-packages/cherrypy/lib/encoding.py",第221行中,在call self.body = self.oldhandler(*args,**kwargs)文件第66行中,在call raise sys.exc_info()1 File self.body第64行中,在call test_callable_spec(self.callable,self.args,文件"/usr/local/lib/python3.5/dist-packages/cherrypy/_cpdispatch.py",第197行,在test_callable_spec raise cherrypy.HTTPError(404,message=message) cherrypy._cperror.HTTPError:(404,‘意外查询字符串参数: demographics_to_save3,demographics_to_save1,demographics_to_save2,demographics_to_save7,demographics_to_save8,demographics_to_save6,demographics_to_save,demographics_to_save9,demographics_to_save5,demographics_to_save4')
Python代码是一个简单的函数def save_census_manual(company_id、plan_id、demographics_to_save、takeup、number_of_employees_with_dependents、percentMale、percentEmployeesWithDependents):
一些代码
返回
我想知道为什么会发生所有意外的查询字符串参数错误(见上文)。
我正在使用CherryPy,当Cherrypy创建对“违犯”函数的调用时,调用如下所示:dependents=2&percentMale=67&percentEmployeesWithDependents=67
发布于 2018-08-22 17:41:13
通过更改调用函数(通过Ajax)来解决这个问题:"demographics_to_save":JSON.stringify(demographics_to_save),
...then在后端代码(Python)中,demographics_to_save = json.loads(demographics_to_save)
https://stackoverflow.com/questions/51814857
复制相似问题