1

我有一個AngularJS單頁面應用程序,用於從C#Web API服務發送和檢索數據。這兩個應用程序都託管在Amazon Elastic Beanstalk上。定期在Google Chrome開發者控制檯中收到失敗的請求。請求是http://singlepageapp.elasticbeanstalk.com/null。它讓我感到困惑,因爲我無法弄清它起源於哪裏。在我的應用程序的所有Ajax請求都來自同一個地方,總是有「API /」和Web API控制器appended.The開發者控制檯的名稱基本URI(http://mywebapi.elasticbeanstalk.com/)顯示如下:AngularJS SPA谷歌Chrome控制檯中的奇數請求失敗

Request URL:http://singlepageapp.elasticbeanstalk.com/null 
Request Method:GET 
Status Code:404 Not Found 

導致錯誤的原始請求如下:

GET /null HTTP/1.1 
Host: singlepageapp.elasticbeanstalk.com 
Connection: keep-alive 
Accept-Encoding: identity;q=1, *;q=0 
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36 
Accept: */* 
Referer: http://singlepageapp.elasticbeanstalk.com/ 
Accept-Language: en 
Range: bytes=0-1244 

Chrome將類型列爲「媒體」,發起者列爲「其他」。任何想法都會受到感謝。巨大的感謝提前。

編輯:我剛剛得到了錯誤,並指出請求不是我的web api,而是彈性beanstalk單頁應用程序。我的邏輯不會向這個URI發出(直接)請求,所有這些都是由瀏覽器響應用戶單擊鏈接而啓動的。在這種情況下,一個「保存」按鈕「頁」後成功保存運行以下:

$location.path('/next-page'); 

正是這種觸發錯誤的請求。雖然通過點擊菜單中的鏈接直接訪問此URI,但這不會發生。

+1

你可以列出任何推測AJAX請求總是命中'host +'api /'+ endpoint'的Angular代碼嗎?很顯然,這些''api /'+端點'計算中的一個計算返回了'null',它被串接爲'null''。 –

+0

@AustinMullins非常感謝您的回覆。我只注意到有問題的請求不是針對我的web API,而是針對單個頁面的應用程序URI。也就是說,它是由瀏覽器啓動的。我編輯了我的問題來反映這一點。 – fhevol

回答

1

好的,發現問題。有問題的頁面允許用戶使用他們的網絡攝像頭拍照。當他們點擊「保存」按鈕時,他們被帶到另一頁面。發生這種情況的邏輯然而之前執行以下操作:

video.src = null; 

其中「視頻」是在頁面以下元素:

<video class="cssimageclass" autoplay></video> 

設置在src爲null發起的瀏覽器請求。刪除這個問題解決了這個問題。