2016-03-07 65 views
0

我已經寫了一個post方法在Django中執行方法,但是我發現執行時需要更長的時間,沒有任何返回。Ajax沒有在Django中返回數據時執行花費更長的時間

這是一個簡單的例子,我測試過了。

Ajax代碼:

$.post('/test-time/', function(data) { 
    alert(data); 
}) 

在我的Django的觀點:

def testTime(request): 
    for i in range(100): 
     print i 
     time.sleep(1) 
    return HttpResponse('success!') 

當時間爲100s,它的工作原理,瀏覽器警報 '!成功'。

但是當我做的時間長一點,如:

def testTime(request): 
    for i in range(400): 
     print i 
     time.sleep(1) 
    return HttpResponse('success!') 

阿賈克斯不會得到任何回報的數據,瀏覽器沒有警覺。

Http服務器是Nginx,使用uwsgi來運行Django。

希望你能幫助我,謝謝:)

+1

你想在這裏實現什麼?它可能會超時.. – karthikr

回答

0

對不起,我已經上網好幾天了。

問題解決了。

這是由於超時,但不是ajax超時。

這是關於nginx和uwsgi,只需將這些配置添加到nginx.conf中,該函數就可以工作。

uwsgi_connect_timeout 15; 
uwsgi_send_timeout 8; 
uwsgi_read_timeout 8; 
相關問題