2014-09-12 84 views
-2

我試圖直接從一個jsp向另一個jsp發送值。我使用extjs來接收提交的值。
我不知道如何接收發送的數據。我更喜歡通過POST方法發送數據。
下面是代碼在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); 
} 

上述警報沒有給我想要的結果。

+0

他們有一個很好的[文檔示例](http://docs.sencha.com/extjs/4.2.2/#!/api/Ext。Ajax-method-request) – weeksdev 2014-09-12 14:46:17

+0

讓我們假設我通過POST方法成功發送了詳細信息,我無法理解數據的接收。該文件沒有解釋這一點。 – Freakyuser 2014-09-12 14:54:31

+0

我爲這個問題添加了一個答案,並且演示了一個示例小提琴。它應該有助於更好地解釋成功功能發生了什麼,以及來自Web服務的典型響應是什麼樣子。 – weeksdev 2014-09-12 15:09:31

回答

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');} 
}); 
+0

謝謝你的回覆,我的問題是如何使用extjs在最終結果jsp上接收。順便說一下,我是否以錯誤的方式設置了值? – Freakyuser 2014-09-12 14:46:33

+0

最後jsp中,您可以從請求對象中獲取值(在GET的情況下使用request.getParameter(''),或者在POST方法的情況下使用body)。然後您可以在字段中設置這些值。 – RE350 2014-09-12 14:55:06

+0

「在POST方法的情況下從身體」這是我無法理解的。我應該怎麼做?你能編輯你的答案嗎?在POST方法的情況下爲 – Freakyuser 2014-09-12 14:59:12

4

這個答案的小提琴可用here

如果您是從Web服務返回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
  • 接下來我們JSON的那個字符串轉換爲JavaScript對象,我們可以利用
  • 最後我顯示我如何將能夠獲得數據對象的第一個節點的值的string在json中。
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數據。