在extjs中接收POST方法值

时间:2014-09-12 14:32:22

标签: javascript extjs extjs4

我试图直接从一个jsp发送值到另一个 我使用extjs来接收提交的值 我不知道如何接收发送的数据。我更喜欢通过POST方法发送数据 以下是代码

Ext.Ajax.request({
     url: 'hello.jsp',
     method:'POST',
     params:{"abc":abc,"xyz":xyz},
    success: received,
    failure: function(){alert('failure');}
}); 

要检索hello.js中的值(链接到hello.jsp),我没有任何线索。
如果extjs中有任何内置方法,可以告诉我吗?

我尝试使用GET方法发送和接收,但仍未正确接收发送的值。我使用了以下代码:

Ext.Ajax.request({
     url: 'hello.jsp?xyxz=xyz&abc=abc',
     method:'GET',
    success: received,
    failure: function(){alert('failure');}
}); 

接收部分:

function getSearchParameters() {
      var prmstr = window.location.search.substring(1);
      alert(prmstr);
}

以上警告并未给我预期的结果。

3 个答案:

答案 0 :(得分:4)

这个答案可以提供here

如果您从网络服务返回json。然后它看起来与此示例类似:(您可以执行xml甚至返回html

{
    "success": true,
    "data": [{
        "FirstName": "John",
        "LastName": "Smith"
    }, {
        "FirstName": "Josh",
        "LastName": "Anon"
    }]
}

你的ExtJs ajax请求看起来与此类似:

Ext.Ajax.request({
            url:'example.json',
            success:function(response){
                //the response object
                console.log(response);
                //the body of the response as a string
                console.log(response.responseText);
                //convert the json to an object
                var jsonObj = Ext.decode(response.responseText);
                console.log(jsonObj);
                //and here is the first item in the array and the first name
                console.log(jsonObj.data[0].FirstName);
            }
        });

解释我的成功函数:

  • 首先我记录回复。这是最初从ajax请求返回的内容,它包含来自responseText属性中服务器的响应正文。它包括其他可能有用的属性(如状态代码)
  • 接下来我正在记录responseText以显示这是我们期望从服务器获得的响应。请注意,这是json的string
  • 接下来,我们将json的字符串转换为我们可以使用的javascript对象
  • 最后,我将展示如何在json中获取数据对象的第一个节点的值。

答案 1 :(得分:2)

只需更新您的成功功能,如下所示。

Ext.Ajax.request({
     url: 'hello.jsp',
     method:'POST',
     params:{"abc":abc,"xyz":xyz},
    success: function(jsonObj){
     //this jsonObj should contains data from your JSP page,now you can set this value to your HTML.
    },
    failure: function(){alert('failure');}
}); 

答案 2 :(得分:0)

不确定如何做这个是asp,但这是如何使用php从ExtJS读取POST值:

if (isset($HTTP_RAW_POST_DATA)) {
  header('Content-Type: application/json');
  $requestData = json_decode($HTTP_RAW_POST_DATA);
}

$ requestData应该包含来自ExtJs Ajax调用的POST数据。