【发布时间】:2014-09-28 09:13:45
【问题描述】:
每次我发出 ajax 请求时都会收到此错误,仅在此项目中。 涉及的代码如下:
[JS AJAX 调用]
var url = '/eden/find_flights/';
var csrf_token = getCookie('csrftoken');
$.ajax({
'url': url,
'data': {
'trip': JSON.stringify(trip),
'travellers': JSON.stringify(travellers),
'csrfmiddlewaretoken': csrf_token
},
'type': 'POST',
'dataType': 'json',
'complete': function(response) {
$("#result").html(response.responseText); //.animate({'marginTop': "-=700px"}, 'slow', 'swing', function() {});
},
});
[views.py]
@csrf_exempt
def find_flights(request):
flights = {}
return render_to_response('flight_search_results.html', flights, context_instance=RequestContext(request))
dict 航班将充满数据,但现在并不重要。我得到的问题是在萤火虫中获得一条红线(如错误),但没有错误信号(如果我使用“在新选项卡中打开”选项我得到一个空白页)并且在 django 控制台中:
[05/Aug/2014 15:29:38] "POST /eden/find_flights/ HTTP/1.1" 200 2
Traceback (most recent call last):
File "/usr/lib/python2.7/wsgiref/handlers.py", line 86, in run self.finish_response()
File "/usr/lib/python2.7/wsgiref/handlers.py", line 128, in finish_response self.write(data)
File "/usr/lib/python2.7/wsgiref/handlers.py", line 212, in write self.send_headers()
File "/usr/lib/python2.7/wsgiref/handlers.py", line 270, in send_headers self.send_preamble()
File "/usr/lib/python2.7/wsgiref/handlers.py", line 194, in send_preamble 'Date: %s\r\n' % format_date_time(time.time())
File "/usr/lib/python2.7/socket.py", line 324, in write self.flush()
File "/usr/lib/python2.7/socket.py", line 303, in flush self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
[05/Aug/2014 15:29:38] "POST /eden/find_flights/ HTTP/1.1" 500 59
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 46750)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 593, in process_request_thread self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request self.RequestHandlerClass(request, client_address, self)
File "/usr/local/lib/python2.7/dist-packages/django/core/servers/basehttp.py", line 126, in __init__ super(WSGIRequestHandler, self).__init__(*args, **kwargs)
File "/usr/lib/python2.7/SocketServer.py", line 651, in __init__ self.finish()
File "/usr/lib/python2.7/SocketServer.py", line 710, in finish self.wfile.close()
File "/usr/lib/python2.7/socket.py", line 279, in close self.flush()
File "/usr/lib/python2.7/socket.py", line 303, in flush self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
----------------------------------------
我已经寻找过这个错误,但我无法理解 wtf 导致它的原因,也不知道我能做些什么来避免它。
【问题讨论】: