2011-06-09 53 views
2

我是ExtJs中的新成員。將ExtJs中的參數傳遞給服務器

當我點擊按鈕時,我想將我的文本框中的值傳遞給服務器(Servlet)。但由於我是新手,我不知道如何去做。

請人幫我這個或建議我一些教程或例子此

回答

4

Ext.Ajax.request可以幫助你。

代碼將是這個樣子:

new Ext.Button({ 
    text: "Send to server", 
    handler: function() { 
     Ext.Ajax.request({ 
      url: 'myPage.php', 
      success: function(){alert('Value has been sent!');}, 
      failure: function(){alert('Failure of sending...');}, 
      headers: { 
       'my-header': 'foo' 
      }, 
      params: { foo: myTextField.getValue() } 
     }); 
    } 
}) 
+0

thnks,讓我試試這個.. – mahesh 2011-06-09 12:47:41

3
在URL

把你的Servlet類名。 如果你有多個按鈕的形式,例如保存,更新,刪除,你可以這樣:

// Your form fields ... 
var buttonAdd = new Ext.Button({text:'Add', handler:addFunction}); 
var deleteAdd = new Ext.Button({text:'Delete', handler:deleteFunction}); 
function addFunction(){ 
    Ext.Ajax.Request({ 
     url: 'MyServlet', // you can fix a parameter like this : MyServlet?action=add 
     method: 'POST', 
     params: { 
      myField1: myField1.getValue() 
      // all your params.... 
     } 
     success: function (result, request){ 
      alert('Succesfully added ' + result.responseText); 
     }, 
     failure: function (result, request){ 
      alert('Error in server' + result.responseText); 
     } 
}); 

function deleteFunction(){ 
    Ext.Ajax.Request({ 
     url: 'MyServlet', // you can fix a parameter like this : MyServlet?action=delete 
     method: 'POST', 
     params: { 
      myField1: myField1.getValue() 
      // all your params.... 
     } 
     success: function (result, request){ 
      alert('Succesfully added ' + result.responseText); 
     }, 
     failure: function (result, request){ 
      alert('Error in server' + result.responseText); 
     } 
}); 
} 

而在你的Servlet,你可以這樣做:此

public void doPost(HttpServletRequest request, HttpServletResponse response){ 
    String action = request.getParameter("action"); 
    if(action.equals("add")){ 
     // Your code for add method goes here 
    } else if(action.equals("delete")){ 
     // Your code for delete method goes here 
    } 
}