1

我有一个 URL 和一些要发布的数据

我试试这段代码:

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 指定参数,为请求正文指定数据,您可以jsonData为后面的(您的par变量)和URL 指定参数params

由于您的数据是字符串,Ext 不会对其进行编码,因此您将在请求正文中获得原始字符串。但是,它会将 设置Content-Typeapplication/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 回答