我在让这个ajax调用正常工作时遇到了一些困难。ajax函数向python控制器传递一个简单变量,控制器返回查询结果。我正在使用Web2py框架。im get错误:无法连接“str”和“NoneType”对象。代码如下:
Ajax调用:
<script>
function TestVolumen() {
var selectVal = $('#zonas :selected').val();
$.ajax({
data: selectVal ,
url: '/shell/default/ajax2',
type: 'POST',
cache: false,
dataType: 'string',
success: function(request) {
//console.log(request[0]);
//console.log(request[0].zona);
selectVal = $('#zonas :selected').val();
for (x=0;x<request.length;x++){
if (request[x].zona == selectVal ) {
//alert(request[x].promedio);
//alert(request[x].zona);
$('div#tabs .vol').html(request[x].promedio.toFixed(4));
}
}
}
});
}
</script>
这是python控制器:
^{pr2}$谢谢你的帮助!!我真的很感激。在
根据PEP249,请用户绑定变量。在
您看到的Python错误意味着
zona
的值就是None
。我想这是因为您错误地发出了AJAX请求。当发出请求时,您应该以{ 'variable_name' : value }
格式定义数据。对于服务器端:注意request.vars
是gluon.storage.Storage类字典对象。在所以,要解决这个问题-通过删除
dataType: 'string',
并将data
设置为{ 'zona' : selectedVal }
来修改AJAX请求。第二,使用request.vars['zona']
在服务器端获取值。第三,在进一步编写Python代码之前,请先熟记一段PEP8!在相关问题 更多 >
编程相关推荐