0

次のようにJSONでデータをサーバーに送信します。

        var username = $("#usernameField").val();
        var email = $("#emailField").val();
        var password = $("#passwordField").val();
        var parameters = {
            'username':username,
            'email':email,
            'password':password
        };
        $.ajax({  
            type: "POST",  
            dataType:"JSON",
            url: doRegistrationUrl,  
            data: parameters,  
            success: function(answer) {  
                console.log(answer);
            }  
        });  

これはデータを取得する関数です(grailsコントローラー)

def doRegistration() {
    def userdata = request.JSON;
    printf("DataInController: "+userdata);
    render userdata.username;
}

URL

var doRegistrationUrl = '${createLink(action:"doRegistration", controller:"registration")}';

ただし、userdataは常にnullであり、データはサーバーに到達しません。理由がわかりません。誰でもこれを手伝うことができますか?どうもありがとう。

4

1 に答える 1

1

データパラメータは、POSTを介して送信される通常のHTTPリクエストパラメータです。他のすべてのコントローラーアクションと同じように処理します。試す:

def doRegistration() {
    def userdata = params
    printf("DataInController: "+userdata);
    render userdata.username;
}
于 2012-05-17T12:59:35.893 に答える