1

URLとPOSTするデータがあります

私はこのコードを試します:

var par = "#DREDOCREF docrefXXX \n";
                            par += "#DREFIELDNAME XML/DOCUMENT/DREFIELD/ENTITIES/persona \n";
                            par += "#DREXMLFIELDVALUE <entitaid>2</entitaid><nominativo>Pamela Verdicchio</nominativo><nome>Pamela</nome><cognome>Verdicchio</cognome><sesso>F</sesso> \n";
                            par += "#DREFIELDNAME XML/DOCUMENT/DREFIELD/ENTITIES/persona \n";
                            par += "#DREXMLFIELDVALUE <entitaid>1</entitaid><nominativo>Mauro Rossini</nominativo><nome>Mauro</nome><cognome>Rossini</cognome><sesso>M</sesso> \n";
                            par += "#DREFIELDNAME XML/DOCUMENT/DREFIELD/ENTITIES/persona \n";
                            par += "#DREXMLFIELDVALUE <entitaid>2</entitaid><nominativo>Gino Paoli</nominativo><nome>Gino</nome><cognome>Paoli</cognome><sesso>M</sesso> \n";
                            par += "#DREFIELDNAME XML/DOCUMENT/DREFIELD/ENTITIES/persona \n";
                            par += "#DREXMLFIELDVALUE <entitaid>2</entitaid><nominativo>Anna Tatangelo</nominativo><nome>Anna</nome><cognome>XXX</cognome><sesso>F</sesso> \n";
                            par += "#DREFIELDNAME XML/DOCUMENT/DREFIELD/ENTITIES/persona \n";
                            par += "#DREXMLFIELDVALUE <entitaid>2</entitaid><nominativo>Bersani</nominativo><cognome>Bersani</cognome><sesso>M</sesso> \n";
                            par += "#DREENDDATANOOP";

Ext.Ajax.request({
url: 'http://localhost:10111/DREREPLACE?ReplaceAllRefs=true&InsertValue=false&MultipleValues=true',
method: 'POST',
params: par,
success: function (response){
Ext.Msg.alert('POST OK');
},
failure: function (){
Ext.Msg.alert('Error Post!!');
}
});

URL は送信されますが、DATA は送信されません。実行する方法?助けてください

*たとえば、「テキスト入力」を使用して HTTP ツールを送信すると、これを行うことができます。

4

1 に答える 1

1

paramsではなく、使用してくださいextraParams。メソッドはオプションrequestを受け入れません。extraParams

編集:

URL に params を指定し、リクエスト本文に data を指定する場合jsonDataは、後で (par変数) とparamsURL に使用できます。

データは文字列であるため、Ext はそれをエンコードしません。そのため、リクエスト本文で生の文字列を取得します。ただし、 を に設定しContent-Typeますapplication/json。これは、適切なサーバーが文字列をオブジェクトにデコードすることを意味します...したがって、きれいにするために、適切なコンテンツタイプを自分で設定する必要があります。

要約すると:

Ext.Ajax.request({
    // URL params
    params: {
        ReplaceAllRefs: true,
        ...
    }

    // data
    jsonData: par,

    // fixed header
    headers: {'Content-Type': 'text/plain'},

    ...
});
于 2013-06-04T13:05:41.403 に答える