2

したがって、次のコードを使用してajaxリクエストを送信しています

                    $.ajax({
                        type: 'POST',
                        url: base_url + "/notifications/send_notification",
                        dataType: 'json',
                        data: {
                            action: 'action_complete',
                            entity_id: 31
                        }
                    });

このコードは私のローカル マシンでは完全に機能しますが、サーバー (現在は SSL が設定されています) にアップロードし、http ではなく https で実行しようとすると、「500 内部サーバー エラー」が発生します。

「base_url」変数には「https」URL が含まれています。

編集: これは、Chrome の [ネットワーク] > [ヘッダー] タブのスクリーンショットです。 ここに画像の説明を入力

4

2 に答える 2

1

あなたbase_urlがいるウェブサイトの場合は、 https://www.example.com でウェブサイトを入力し、https://www.example.com/notifications/send_notificationあるbase_url場合は、パラメーターから省略してみてください.base_urlurl

が別のサイトである場合base_url、クロスサイト スクリプトの問題である可能性があります。

上記以外の場合は、サーバーに問題がある可能性があります。SSL証明書に問題はありませんか? 自己署名の場合は、まずブラウザで「承認」する必要があります。

最後に、正確な送受信データを Chrome で確認できます。F12 キーを押して確認しますNetwork(リクエストを行う前に開いておく必要があります)。

さらに、Fiddler を使用してその URL を直接要求することもできます (POST の場合、GET の場合はブラウザーでアクセスするだけです)。

于 2012-08-22T07:36:34.427 に答える
0

ブラウザからネットワーク監視を実行して、500 Internal Server Error レスポンスの本文を読み取ります。JSON を返信する場合は、必ず適用してくださいAllowGet: true

次のような応答本文のスクリーンショットを投稿できますか。 ここに画像の説明を入力

于 2012-08-22T07:32:57.983 に答える