I am using ajax to submit my jsp page data without refreshing the page in liferay custom portlet.
I am facing two problems with that:
When I am calling Ajax function to resource server method its getting all ajax data in that method but when everything is done then on success of that I can't get any data in return. So how can I get some data in return after the Ajax function is successfully executed.
I have used simple HTML file upload control in my form and when I am using simple submit method then am calling upload request to get all attribute of file and also uploading the file with the upload request, but in case of Ajax I have to do everything with resource action in my resource server method in action class and I am getting all
null
values with upload request so how can I solve this problem?
I am providing my one sample Ajax call and my resource server method
This is my simple ajax call in jsp page
<script type="text/javascript">
function addToDo(addToDo) {
var todo = document.getElementById('toDo').value;
alert("");
var adv_name = document.getElementById('advertise_name').value;
var keywords = document.getElementById('keywords').value;
var adv_url = document.getElementById('adv_url').value;
var fileUpload = document.getElementById('fileUpload').value;
var mediatype= $('#mediatype option:selected').val();
$.ajax({
url :addToDo,
data: {
"todo":todo,
"adv_name":adv_name,
"mediatype":mediatype,
"keywords":keywords,
"adv_url":adv_url,
"fileUpload":fileUpload,
"CMD":"addToDo"
},
type: "GET",
timeout: 20000,
dataType: "text",
success: function(data) {
alert(data);
//when i alert this data..its always null
}
});
}
</script>
following is my upload control:
<label>Browse</label>
<input name="fileUpload" id="fileUpload" type="file" />
<span id="restError2" style="color: #C62626;" class="help-block"></span>
on one button I am calling above ajax method and which redirects to the resorce server method as follows:
@Override
public void serveResource(ResourceRequest request, ResourceResponse response){
if(request.getParameter("CMD").equals("addToDo")) {
System.out.println("came here for add");
// here am converting this resource request to uploadportletrequest because i have enctype="multipart/form-data"
UploadPortletRequest uploadReq = PortalUtil.getUploadPortletRequest(request);
sourceFileName = uploadReq.getFileName("fileUpload");// uploaded
// filename
advertise_name = uploadReq.getParameter("advertise_name"); //this value getting null
adv_link = uploadReq.getParameter("adv_url"); //this value getting null
keyword = uploadReq.getParameter("keywords"); //this value getting null
String resourceID = request.getResourceID();
System.out.println(resourceID);
}
}