単純なAJAXJQueryの例では、500の内部サーバーエラーが発生します

stackUser2000

こんにちは私は春のmvcプロジェクトで働いていますが、フォームのボタンを押すとこのエラーが発生します

500 (Internal Server Error)                                    jquery.min.js:6
x.ajaxTransport.x.support.cors.e.crossDomain.send  jquery.min.js:6 
x.extend.ajax                                      AddUser:19 
doAjaxPost                                         AddUser:41 
onclick

ユーザーをリストに追加する簡単なAJAXJQueryの例を実行しようとしていますが、フォームの追加ボタンを押すとエラーが発生します

これは私のコントローラークラスです:

@Controller
public class UserListController {

 private List<User> userList = new ArrayList<User>();

     @RequestMapping(value="AddUser",method=RequestMethod.GET)
     public String showForm(){

         return "AddUser";
     }

     @RequestMapping(value="AddUser",method=RequestMethod.POST)
     public @ResponseBody String addUser(@ModelAttribute(value="user") User user, BindingResult result ) 
     {
         String returnText;

         if(!result.hasErrors())
         {
             userList.add(user);
             returnText = "User has been added to the list. Total number of users are " + userList.size();

         }
         else
         {
             returnText = "Sorry, an error has occur. User has not been added to list.";
         }

         return returnText;
     }

     @RequestMapping(value="ShowUsers")
     public String showUsers(ModelMap model) 
     {
         model.addAttribute("Users", userList);

         return "ShowUsers";
     }

}

これは私のAddUser.jspページです

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Add Users using ajax</title>

        <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>

        <!-- <script src="resources/js/libs/jquery-2.0.2.min.js"></script> -->

        <script type="text/javascript">

        function doAjaxPost() {
        // get the form values
        var name = $('#name').val();
        var education = $('#education').val();

        $.ajax({
        type: "POST",
        url: "AddUser",
        data: "name=" + name + "&education=" + education,
        success: function(response){
        // we have the response
        $('#info').html(response);
        $('#name').val('');
        $('#education').val('');
        },
        error: function(e){
        alert('Error: ' + e);
        }
        });
        }
        </script>
    </head>
    <body>
        <h1>Add Users using Ajax ........</h1>
        <table>
            <tr><td>Enter your name : </td><td> <input type="text" id="name"><br/></td></tr>
            <tr><td>Education : </td><td> <input type="text" id="education"><br/></td></tr>
            <tr><td colspan="2"><input type="button" value="Add Users" onclick="doAjaxPost()"><br/></td></tr>
            <tr><td colspan="2"><div id="info" style="color: green;"></div></td></tr>
        </table>
        <a href="/views/ShowUsers">Show All Users</a>
    </body>
</html>

XMLを使用せずにJavaベースの構成を使用しているため、MvcConfigurationクラス

@EnableWebMvc
@Configuration
@ComponentScan(basePackages = { "controllers" })
public class MvcConfig extends WebMvcConfigurerAdapter
{
     @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
       registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
    }

    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
       configurer.enable();
    }

//  JSP VIEW-RESOLVER
    @Bean
    public InternalResourceViewResolver jspViewResolver() {
       InternalResourceViewResolver bean = new InternalResourceViewResolver();
       bean.setOrder(2);
       bean.setPrefix("/WEB-INF/views/");
       bean.setSuffix(".jsp");
       return bean;
    }
}

編集:私は自分が抱えているエラーを知るためだけに新しいプロジェクトを開始し、アプリケーションの春のセキュリティを削除しますが、それでも何が悪いのかを理解することができます。

1)私は実際に春のセキュリティを削除しません私はちょうど私のURLの問題を解決しようとするために新しいプロジェクトを開始します

2)ajaxスクリプトでコントローラーとURL属性を変更します

新しいRequestMappingコントローラー:

 @RequestMapping(value="AddUser",method=RequestMethod.GET)

value = "AddUser"の「/」を削除しました

コントローラに「/」を入れても、どのコントローラにも「/」がありません。同じ500内部サーバーエラーが発生します。

アニンダバタチャリヤ

これは、Java構成でデフォルトで有効になっているCSRF保護が原因である可能性があります。構成を試してください...

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        // ...
        .csrf().disable();
}

これが機能するかどうか教えてください。

編集**

CSRFトークンをAJAXリクエストに含めるには、JSONを使用している場合、それをhttpヘッダーに配置する必要があります。通常、JSPのサンプル例は次のようになります...

<html>
<head>
<meta name="_csrf" content="${_csrf.token}"/>
<meta name="_csrf_header" content="${_csrf.headerName}"/>
</head>

次に、JavaScript呼び出しで、このパラメーターを取得し、XMLHttpRequestのヘッダーに追加します。

お役に立てれば。

参考文献

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

500(内部サーバーエラー)GET http:// localhost:3000 / favicon.ico 500(内部サーバーエラー)が発生し続けるのはなぜですか?

分類Dev

500の内部サーバーエラーが発生しますか?

分類Dev

.htaccessを使用すると500内部サーバーエラーが発生するのはなぜですか

分類Dev

WordPressサイトで500の内部サーバーエラーが発生しますか?

分類Dev

webmethodへのAjax呼び出しでERROR500内部サーバーエラーが発生します

分類Dev

jQueryの投稿で500の内部サーバーエラーが発生しましたか?

分類Dev

ajax getメソッドを使用しているときに500内部サーバーエラーが発生したのはなぜですか?

分類Dev

ajax getメソッドを使用しているときに500内部サーバーエラーが発生したのはなぜですか?

分類Dev

AWS EBのFlaskアプリケーションでは、常に500内部サーバーエラーが発生します

分類Dev

GoでAWS Lambdaを設定しているのに、この単純な関数で常に「内部サーバーエラー」が発生するのはなぜですか?

分類Dev

このエラーが発生しました500 | 内部サーバーエラー| Doctrine_Connection_Mysql_Exception

分類Dev

AJAXを介した単純なフォームPOSTで500エラーが発生します-何が問題なのかわかりませんか?

分類Dev

WebSecurity.Loginの単純なメンバーシップのUnitTestでエラーが発生しました

分類Dev

Pythonスクリプトで500の内部サーバーエラーが発生しましたが、問題が何であるかわからない

分類Dev

500内部サーバーエラーエラーが発生しました

分類Dev

BeautifulSoup:なぜ内部サーバーエラーが発生するのですか?

分類Dev

index.phpパーミッション666で「500内部サーバーエラー」が発生するのはなぜですか?

分類Dev

Microsoftグラフの認証中に500内部サーバーエラーが発生しました

分類Dev

$ http.post methoodを介してデータを送信できず、500の内部サーバーエラーが発生します

分類Dev

REST APIで顧客を更新すると、500内部サーバーエラーが発生します

分類Dev

cpanelホスティングで500内部サーバーエラーが発生しますか?

分類Dev

通常のページをAMPページにリダイレクトすると500内部サーバーエラーが発生しますhtaccessエラー

分類Dev

HerokuにデプロイされたExpressJSAPIで500の内部サーバーエラーが発生する

分類Dev

関数内で単純なクラスを使用すると、未定義の参照エラーが発生します

分類Dev

有効なforeachループにより、有効なAjaxリクエストで500内部サーバーエラーが発生します

分類Dev

単純なURLSessionの例は常にエラーで失敗します

分類Dev

単純なサーブレットがTomcat / 9.0.14で問題になり、「オリジンサーバーが現在の表現を見つけられませんでした..」というエラーが発生します。

分類Dev

サーブレットを呼び出すと、500-内部サーバーエラーが発生します

分類Dev

単純な形式のコレクションを使用すると、Railsでエラーが発生します

Related 関連記事

  1. 1

    500(内部サーバーエラー)GET http:// localhost:3000 / favicon.ico 500(内部サーバーエラー)が発生し続けるのはなぜですか?

  2. 2

    500の内部サーバーエラーが発生しますか?

  3. 3

    .htaccessを使用すると500内部サーバーエラーが発生するのはなぜですか

  4. 4

    WordPressサイトで500の内部サーバーエラーが発生しますか?

  5. 5

    webmethodへのAjax呼び出しでERROR500内部サーバーエラーが発生します

  6. 6

    jQueryの投稿で500の内部サーバーエラーが発生しましたか?

  7. 7

    ajax getメソッドを使用しているときに500内部サーバーエラーが発生したのはなぜですか?

  8. 8

    ajax getメソッドを使用しているときに500内部サーバーエラーが発生したのはなぜですか?

  9. 9

    AWS EBのFlaskアプリケーションでは、常に500内部サーバーエラーが発生します

  10. 10

    GoでAWS Lambdaを設定しているのに、この単純な関数で常に「内部サーバーエラー」が発生するのはなぜですか?

  11. 11

    このエラーが発生しました500 | 内部サーバーエラー| Doctrine_Connection_Mysql_Exception

  12. 12

    AJAXを介した単純なフォームPOSTで500エラーが発生します-何が問題なのかわかりませんか?

  13. 13

    WebSecurity.Loginの単純なメンバーシップのUnitTestでエラーが発生しました

  14. 14

    Pythonスクリプトで500の内部サーバーエラーが発生しましたが、問題が何であるかわからない

  15. 15

    500内部サーバーエラーエラーが発生しました

  16. 16

    BeautifulSoup:なぜ内部サーバーエラーが発生するのですか?

  17. 17

    index.phpパーミッション666で「500内部サーバーエラー」が発生するのはなぜですか?

  18. 18

    Microsoftグラフの認証中に500内部サーバーエラーが発生しました

  19. 19

    $ http.post methoodを介してデータを送信できず、500の内部サーバーエラーが発生します

  20. 20

    REST APIで顧客を更新すると、500内部サーバーエラーが発生します

  21. 21

    cpanelホスティングで500内部サーバーエラーが発生しますか?

  22. 22

    通常のページをAMPページにリダイレクトすると500内部サーバーエラーが発生しますhtaccessエラー

  23. 23

    HerokuにデプロイされたExpressJSAPIで500の内部サーバーエラーが発生する

  24. 24

    関数内で単純なクラスを使用すると、未定義の参照エラーが発生します

  25. 25

    有効なforeachループにより、有効なAjaxリクエストで500内部サーバーエラーが発生します

  26. 26

    単純なURLSessionの例は常にエラーで失敗します

  27. 27

    単純なサーブレットがTomcat / 9.0.14で問題になり、「オリジンサーバーが現在の表現を見つけられませんでした..」というエラーが発生します。

  28. 28

    サーブレットを呼び出すと、500-内部サーバーエラーが発生します

  29. 29

    単純な形式のコレクションを使用すると、Railsでエラーが発生します

ホットタグ

アーカイブ