我有一个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;:
答案 0 :(得分:1)
使用params
,而不是extraParams
。 request
方法不接受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'},
...
});