EXTJS-如何使用POST将文本数据发送到服务器
我有一个URL和一些数据要发布 我尝试以下代码:EXTJS-如何使用POST将文本数据发送到服务器,extjs,Extjs,我有一个URL和一些数据要发布 我尝试以下代码: var par = "#DREDOCREF docrefXXX \n"; par += "#DREFIELDNAME XML/DOCUMENT/DREFIELD/ENTITIES/persona \n"; par += "#DREXMLFIELDVALUE <entitaid>2</entitaid><no
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!!');
}
});
<代码> var PAR=“
PAR+=“{ Delfield名称XML /文档/ DReField/实体/人物角色\N”;
PAR+=“{ DrxMLFieldValue2PAMELA VDI”
PAR+=“{ Delfield名称XML /文档/ DReField/实体/人物角色\N”;
PAR+=“{ DrxMLFieldValue1 Mururo RoSimimaOrrOxSoRIM \n”;
PAR+=“{ Delfield名称XML /文档/ DReField/实体/人物角色\N”;
PAR+=“{ DrxMLFieldValue2GIONPauliopopulim\n”;
PAR+=“{ Delfield名称XML /文档/ DReField/实体/人物角色\N”;
PAR+=“{ DrxMLFieldValue2ANA TATANGANONANAXXXFF\N”;
PAR+=“{ Delfield名称XML /文档/ DReField/实体/人物角色\N”;
PAR+=“{ DRIXMLFieldValue2BurSAiBiaSalim\n”;
PAR+ =“Y.DrEndDATANOOP”;
Ext.Ajax.request({
网址:'http://localhost:10111/DREREPLACE?ReplaceAllRefs=true&InsertValue=false&MultipleValues=true',
方法:“POST”,
帕拉姆:PAR,
成功:功能(响应){
Ext.Msg.alert(“POST OK”);
},
失败:函数(){
Ext.Msg.alert('Error Post!!');
}
});
已发送Url,但未发送数据。如何做?
请帮忙
*例如,我可以通过使用“文本输入”发送Http工具来实现这一点:使用
params
,而不是extraParams
。request
方法不接受extraParams
选项
编辑:
如果要为URL指定参数,并为请求正文指定数据,可以使用jsonData
作为后面的变量(您的par
变量),并使用params
作为URL变量
由于您的数据是一个字符串,Ext不会对其进行编码,因此您将在请求正文中获得原始字符串但是,它会将内容类型
设置为应用程序/json
,这意味着适当的服务器会将字符串解码为对象。。。因此,为了保持整洁,您应该自己设置适当的内容类型
总而言之:
Ext.Ajax.request({
// URL params
params: {
ReplaceAllRefs: true,
...
}
// data
jsonData: par,
// fixed header
headers: {'Content-Type': 'text/plain'},
...
});
使用
params
,而不是extraParams
。request
方法不接受extraParams
选项
编辑:
如果要为URL指定参数,并为请求正文指定数据,可以使用jsonData
作为后面的变量(您的par
变量),并使用params
作为URL变量
由于您的数据是一个字符串,Ext不会对其进行编码,因此您将在请求正文中获得原始字符串但是,它会将内容类型
设置为应用程序/json
,这意味着适当的服务器会将字符串解码为对象。。。因此,为了保持整洁,您应该自己设置适当的内容类型
总而言之:
Ext.Ajax.request({
// URL params
params: {
ReplaceAllRefs: true,
...
}
// data
jsonData: par,
// fixed header
headers: {'Content-Type': 'text/plain'},
...
});
我使用了,但我无法发送数据。您的意思是要同时配置URL参数和正文数据吗?请看我的更新。首先,非常感谢您:-D是的,我必须发送该Url(带有该参数),并且我还必须发送var“par”中分配的数据。发送开始,但在几秒钟中止后保持等待模式结束。我必须在Ext中执行与向Http发送内容的经典工具相同的操作。一个是“Http发送工具”,你知道吗?在那个程序中,我指定了一个Url:xxx和一个Text:xxx,我想我误解了你的第一条评论。在您的代码示例中,如果只是将
extraParams
替换为params
或jsonData
,则不会获得有效负载?我已经对此进行了测试,我的服务器在我使用的两种情况下都收到了请求正文>\u,但我无法发送数据。您的意思是要同时配置URL参数和正文数据吗?请看我的更新。首先,非常感谢您:-D是的,我必须发送该Url(带有该参数),并且我还必须发送var“par”中分配的数据。发送开始,但在几秒钟中止后保持等待模式结束。我必须在Ext中执行与向Http发送内容的经典工具相同的操作。一个是“Http发送工具”,你知道吗?在那个程序中,我指定了一个Url:xxx和一个Text:xxx,我想我误解了你的第一条评论。在您的代码示例中,如果只是将extraParams
替换为params
或jsonData
,则不会获得有效负载?我已经对此进行了测试,我的服务器在这两种情况下都收到了请求正文>\u您在控制台中遇到了什么错误。您在控制台中遇到了什么错误。