【问题标题】:Extjs 4.2: How to send parameters properly in a Ext.Ajax.Request POSTExtjs 4.2:如何在 Ext.Ajax.Request POST 中正确发送参数
【发布时间】:2013-06-19 07:54:58
【问题描述】:

我必须从我的 ExtJs 脚本中执行 POST 才能从我的数据库中删除某些内容:

Ext.Ajax.request({
    url: 'deleteRole.html',
    method: 'POST',          
    headers: {'Content-Type': 'text/html'},
    waitTitle: 'Connecting',
    waitMsg: 'Sending data...',                                     
    params: {
        "rolename" : rolename
    },
    scope:this,
    success: received,                                    
    failure: function(){console.log('failure');}
});

当帖子发送时,我可以在萤火虫中看到字体中的角色名称,但不是作为参数。我想向您展示另一篇与用户注册相关的帖子(使用 spring:form 制作)。如果我检查帖子,我可以看到以下内容:


(来源:subirimagenes.com

我可以使用@RequestParam 获取控制器中的参数。

但是在我有问题的帖子中我看不到参数部分,我只能看到 Font(Fuente) 部分:


(来源:subirimagenes.com

因此,我的弹簧控制器没有检测到任何参数。我的 POST 有什么问题吗?

谢谢

【问题讨论】:

    标签: ajax extjs extjs4 extjs4.2


    【解决方案1】:

    问题是您在原始问题中使用了headers: {'Content-Type': 'text/html'}, 行。这会将内容设置为 text/html 而不是将内容设置为发布数据。

    【讨论】:

      【解决方案2】:

      我用下面的代码解决了:

      var rolename = 'myRol';
      Ext.Ajax.request({
          url: 'deleteRole.html',
          method: 'POST',          
          params: {
              rolename: rolename
          },
          success: received,                                    
          failure: function(){console.log('failure');}
      });
      

      【讨论】:

      • 您至少应该感谢帮助您解决问题的答案。
      • 他在我发帖之前就解决了,我只是想他可能想知道为什么他的回答解决了这个问题。这是假设他只是尝试了一些事情直到它起作用并且不知道为什么。
      【解决方案3】:

      我在 Sencha Touch 应用程序中使用它。我必须添加一个名为 jsonData 的额外配置并将其设为 true,否则不会将任何内容传递给我的端点 url。

      Ext.Ajax.request({
          url: endpoint,
          method : "POST",
          headers: {
              'Content-Type': 'application/json'
          },
          params : {add: formattedAddress, lat: latitude},
          jsonData: true,
          useDefaultXhrHeader : false,
          withCredentials: true,                
          success : function(response) {
              Ext.Msg.alert("Success", 'yea');
          },
          failure : function(response) {
              var respObj = Ext.JSON.decode(response.responseText);
              Ext.Msg.alert("Error", respObj.status.statusMessage);
          }
      });
      

      【讨论】:

        猜你喜欢
        • 2012-09-09
        • 1970-01-01
        • 2015-02-25
        • 1970-01-01
        • 1970-01-01
        • 2015-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多