[解決済み] AJAXレスポンスエラー:net::ERR_EMPTY_RESPONSE
2022-03-12 17:14:43
質問
CODE:
フロントエンド
$(document).ready(function(){
$('.delete-post').on('click', function(){
var id = $(this).data('id');
var section = $(this).data('section');
var url = '/users/delete/'+id;
if(confirm("Delete Post ?")){
$.ajax({
url: url,
type:'DELETE',
success: function(result){
console.log('Deleting post...');
window.location.href='/users/profile';
},
error: function(err){
console.log(err);
}
});
}
});
});
BACK-ENDです。
router.delete('/delete/:id', function(req, res, next) {
var id = req.params.id;
var section = req.params.section;
var image = "";
var author = "";
var postRef = firebase.database().ref("posts/"+section+"/"+id);
var userRef = firebase.database().ref("users/posts/"+id);
var likesRef = firebase.database().ref("users/likes/"+id);
var hotRef = firebase.database().ref("hot/"+section+"/"+id);
postRef.once('value', function(snapshot){
image = snapshot.image;
author = snapshot.author;
if (firebase.auth().currentUser.uid.toString() == author) {
var file = bucket.file(image);
file.delete(function (err, apiResponse) {
if (err) {
console.log(err);
}
else {
console.log("Deleted successfully");
postRef.remove();
userRef.remove();
hotRef.remove();
likesRef.remove();
req.flash('success_msg','Post Deleted');
res.send(200);
}
});
}
});
});
シチュエーション
削除ボタンを追加して、ユーザーが自分の投稿を削除できるようにしました。
ユーザーがボタンをクリックすると、私のNode.jsサーバーにAJAXリクエストが行われます。
しかし、次のようなエラーが発生します。
ERROR:
net::ERR_EMPTY_RESPONSE
QUESTION:
このエラーは何ですか、どうすれば直りますか?
解決方法は?
あなたが得ている応答は、実際には
正しい
. につきまして
ドキュメント
の場合、Firebaseは200のステータスコードを返し
空のレスポンス
.
net::ERR_EMPTY_RESPONSE
がまさにそれです。あなたがすべきことは、両方の
null
と
200
ステータスコードが true ならば、その投稿は削除されたと考えてよいでしょう。
個人的な意見としては、Firebaseは 何もない と一般的でキャッチオールなステータスコードです。私は、204 No Contentや410 Goneのようなものを希望します。しかし、残念なことに
-
注意: この条件は、投稿が著者のものでない場合は何も返しません - API は依然として 何か (この場合、おそらくエラー) が発生します。のように。
if (firebase.auth().currentUser.uid.toString() == author) {
// your code
} else {
res.status(401).send("User does not have permission to complete the operation.")
}
関連
-
[解決済み】React-Routerの子が1つしかない。
-
[解決済み】Kendo Observable Bindingと併用する場合、Kendo Switch Labelsを変更することは可能ですか?[Kendo-UI]です。
-
[解決済み] Uncaught (in promise) TypeError: フェッチに失敗してCorsエラー
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] jQueryを使ったAjaxリクエストの中断
-
[解決済み] jQuery Ajax呼び出し後のリダイレクトリクエストを管理する方法
-
[解決済み] どうすればjQueryに非同期ではなく、同期のAjaxリクエストを実行させることができますか?
-
[解決済み] jQuery AJAX送信フォーム
-
[解決済み] Ajaxリクエストが200 OKを返すが、successではなくerrorイベントが発生する
-
[解決済み] jQuery Ajax ファイルアップロード
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Heroku:ノードアプリで「このアプリにはデフォルトの言語が検出されませんでした」エラーがスローされる
-
[解決済み】このエラーの原因は何ですか - "Fatal error: ローカルgruntを見つけることができません"
-
[解決済み】document.getElementByIDは関数ではありません。
-
[解決済み】JavaScriptのgetElementByNameが機能しない
-
[解決済み】Uncaught SyntaxError: JSON の位置 0 に予期しないトークン u があります。
-
[解決済み】XMLパースエラー:ルート要素が見つからない コンソールの場所 FF
-
[解決済み】JavaScriptで相対URLへのリダイレクトを行う
-
[解決済み】Uncaught ReferenceError。Firebase は定義されていません。
-
[解決済み】module.exports "モジュールが定義されていません"
-
[解決済み】Javascript、[オブジェクトHTMLInputElement]を表示中。]