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

EXTJS-如何使用POST将文本数据发送到服务器,extjs,Extjs,我有一个URL和一些数据要发布 我尝试以下代码: var par = "#DREDOCREF docrefXXX \n"; par += "#DREFIELDNAME XML/DOCUMENT/DREFIELD/ENTITIES/persona \n"; par += "#DREXMLFIELDVALUE <entitaid>2</entitaid><no

我有一个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!!');
}
});
<代码> 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您在控制台中遇到了什么错误。您在控制台中遇到了什么错误。