0
我想通过Ajax从JavaScript代码调用Django View函数。查看功能返回HttpResponse,我试图在控制台上打印出来。为什么我试图从Django View函数返回HttpResponse时出错?
但控制台上显示“未定义”和我说的蟒蛇终端上的错误:“AttributeError的:‘NoneType’对象有没有属性‘分裂’
View功能是此:
@csrf_exempt
def result(request):
if(request == 'POST'):
# datafromclient = request.form['mydata']
# finalRes = runAreaReview(datafromclient)
test = 'testing'
return HttpResponse(test)
HTML代码是这样的:
<div align="center" class="input-line">
<form class="input-form" method="post">{% csrf_token %}
<input type = "text" id = "ans" class = "form-control" name = "address" placeholder="Type postcode..."><br><br>
<button id = "homeBtn" class="btn btn-primary">Find info</button><br><br>
</form>
</div>
JavaScript代码是这样的:
btn.addEventListener('click', function(){
var plcholder = document.getElementById('ans').placeholder;
var btnres = document.getElementById('ans').value;
if(btnres == '' || btnres == plcholder)
console.log('you failed');
else
console.log(btnres);
var result = callpy(btnres);
console.log(result);
});
function callpy(input){
var pyres = $.ajax({
type: "POST",
url:'/result',
data: { mydata: input }
});
return pyres.responseText;
错误我得到的是这样的:
self.status.split(' ',1)[0], self.bytes_sent
AttributeError: 'NoneType' object has no attribute 'split'
注:我研究了这个问题,Django的以前的版本有它导致这个错误的错误,但我有一个版本是最新的,我仍然得到这个错误。
请修复您的视图函数中的缩进。不,返回响应实际上是Django所做的主要事情:没有任何版本意外返回None。 –
错误的上下文是什么? – spectras
@DanielRoseman:关于缩进,我是从我的代码中复制粘贴的,有些东西搞砸了,但是我的代码的缩进是正确的。 而且我仍然认为Django的早期版本抛出了这个相同的错误,这个错误在其后来的版本中已经修复。但是,这里没关系。 你有什么想法,为什么我在这里得到这个错误? –