11

DB から何かを削除するには、ExtJs スクリプトから POST を実行する必要があります。

Ext.Ajax.request({
    url: 'deleteRole.html',
    method: 'POST',          
    headers: {'Content-Type': 'text/html'},
    waitTitle: 'Connecting',
    waitMsg: 'Sending data...',                                     
    params: {
        "rolename" : rolename
    },
    scope:this,
    success: received,                                    
    failure: function(){console.log('failure');}
});

投稿が送信されると、firebug でロール名がフォントで表示されますが、パラメーターとしては表示されません。ユーザー登録に関連する別の投稿 (spring:form で作成) をお見せしたいと思います。投稿を調べると、次のことがわかります。

画像
(ソース: subirimagenes.com )

そして、@RequestParam を使用してコントローラーでパラメーターを取得できます。

しかし、問題があるという投稿では、パラメーターの部分が表示されず、Font(Fuente) の部分しか表示されません。

画像2
(ソース: subirimagenes.com )

結果として、私のスプリング コントローラーはパラメーターを検出しません。私のPOSTに何か問題がありますか?

ありがとうございました

4

3 に答える 3

11

問題はheaders: {'Content-Type': 'text/html'},、元の質問でその行を使用していることです。これにより、コンテンツが投稿データではなく、コンテンツが text/html に設定されます。

于 2013-06-19T13:16:03.327 に答える
8

次のコードで解決しました。

var rolename = 'myRol';
Ext.Ajax.request({
    url: 'deleteRole.html',
    method: 'POST',          
    params: {
        rolename: rolename
    },
    success: received,                                    
    failure: function(){console.log('failure');}
});
于 2013-06-19T08:45:12.467 に答える
7

これを Sencha Touch アプリで使用しています。jsonData という追加の構成を追加して true にする必要がありました。そうしないと、エンドポイント URL に何も渡されません。

Ext.Ajax.request({
    url: endpoint,
    method : "POST",
    headers: {
        'Content-Type': 'application/json'
    },
    params : {add: formattedAddress, lat: latitude},
    jsonData: true,
    useDefaultXhrHeader : false,
    withCredentials: true,                
    success : function(response) {
        Ext.Msg.alert("Success", 'yea');
    },
    failure : function(response) {
        var respObj = Ext.JSON.decode(response.responseText);
        Ext.Msg.alert("Error", respObj.status.statusMessage);
    }
});
于 2015-03-06T23:17:01.720 に答える