2016-01-11 226 views
3

當日期輸入中的日期更改發生得非常快時,會發生此錯誤。如果我每隔2秒鐘更改一次日期,它就會正常工作。但是當日期輸入變化非常快時,它會給出以下錯誤。簡而言之,只有在第一個請求緊接在第一個請求之後纔會發生此錯誤。我花了幾個小時,在SO和谷歌上搜索了很多與此錯誤ERR_CONNECTION_REFUSED相似的問題,但沒有運氣。任何想法是什麼導致這個問題?net :: ERR_CONNECTION_REFUSED錯誤jQuery ajax node.js

此外,當負載在瀏覽器的URL(http://localhost:8000/svc/diary/2016-01-03),數據出來罰款,但如果我重裝(按Ctrl + R)網址非常快,它進入雅虎搜索這些術語:

HTTP本地主機8000 SVC日記2016 01 03日記

從控制檯錯誤消息:

GET http://localhost:8000/svc/diary/2016-01-03 net::ERR_CONNECTION_REFUSED 
     send @ jquery-2.2.0.js:9172 
     jQuery.extend.ajax @ jquery-2.2.0.js:8653 
     (anonymous function) @ idiary.js:18 
     jQuery.event.dispatch @ jquery-2.2.0.js:4732 
     elemData.handle @ jquery-2.2.0.js:4544 

的日期格式

<input class="form-control" id='ddate' type="date" name="bday"> 


Ajax調用

$('#ddate').on('change', function() { 
    var ajaxParams = { 
     url: '/svc/diary/' + $(this).val(), 
     type: 'GET', 
     contentType: "application/json", 
     dataType:"json" 
    }; 
    console.log(ajaxParams); 
    $.ajax(ajaxParams) 
     .done(function (data, textStatus, jqXHR) { 
      console.log("diary retrieved!") 
      console.log(data); 
      $("#diary").text(data.diary); 

     }) 
     .fail(function (jqXHR, textStatus, errorThrown) { 
      $("#diary").text(""); 
      console.log("failed to retrieve diary!"); 
      console.log(errorThrown); 
     }); 
}); 


後端的Node.js GET處理

function getDiary(req, res) { 
    var date = req.params.date; 
    util.log(mysql.format(searchQuery, [date])); 
    util.dbpool.query(searchQuery, [date], function (err, result) { 
     res.setHeader("Content-Type", "application/json"); 
     if (err) { 
      console.log(err); 
      util.errLog(JSON.stringify(err)); 
      res.status(500).json({message: 'summary, no results.'}); 
     } else { 
      console.log(result); 
      result.length > 0 ? res.status(200).json(result[0]) : res.status(200).json({"ddate":date, "diary":""}); 
     } 
    }); 
} 


更新:剛剛發現,與

node server.js 

這一問題啓動節點應用服務器時,這個問題沒有了開始PM2或節點應用服務器foerver

pm2 start --watch server.js 
forever start --watch server.js 

回答

1

問題已解決。這是由於在pm2中使用手錶標誌而導致的。我的應用程序打印日誌語句,並且日誌文件夾與應用程序文件夾處於同一級別,因此無論何時更新日誌文件,pm2都將重新啓動我的應用程序服務器。這就是爲什麼如果我每幾秒鐘連接我的應用程序服務器就會工作,因爲服務器重啓只需要一秒左右的時間。如果我非常快速地連接服務器,它會給連接拒絕錯誤,因爲服務器仍在重新啓動,這就是連接被拒絕的原因。

相關問題