我是ExtJs的新手。
当我点击按钮时,我想将文本框中的值传递给服务器(Servlet)。但是,由于我是新手,我不知道该怎么做。
请有人帮我解决这个问题,或者为我推荐一些教程或示例
答案 0 :(得分: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() }
});
}
})
答案 1 :(得分: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
}
}