EXTJS - 如何使用POST将文本数据发送到服务器

时间:2013-06-04 12:43:54

标签: extjs

我有一个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工具来执行此操作,使用&#34;文本输入&#34;:

1 个答案:

答案 0 :(得分:1)

使用params,而不是extraParamsrequest方法不接受extraParams选项。

编辑:

如果您要为网址和请求正文的数据指定params,则可以使用jsonData作为后者(par变量),params作为URL的。

由于您的数据是字符串,因此Ext不会对其进行编码,因此您将在请求正文中获取原始字符串。 但是,它会将Content-Type设置为application/json,这意味着正确的服务器会将字符串解码为对象...所以要清洁,您应该设置适当的内容你自己型。

总结一下:

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

    // data
    jsonData: par,

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

    ...
});