Changing Part Of The Html Page Without Refreshing Whole Page
Solution 1:
this is the javascript code
//get text 1 by ajaxfunctiongetText1(urlstarted) {
        xmlHttp = false;
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            xmlHttp = newXMLHttpRequest();
            if (xmlHttp.overrideMimeType) {
                // set type accordingly to anticipated content type//http_request.overrideMimeType('text/xml');
                xmlHttp.overrideMimeType('text/html');
            }
        } elseif (window.ActiveXObject) { // IEtry {
                xmlHttp = newActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    xmlHttp = newActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
        if (!xmlHttp) {
            alert('Cannot create XMLHTTP instance');
            returnfalse;
        }
        var url=urlstarted+"/jsp/viewText1.jsp"; //put the link to ur Ajax page here
         xmlHttp.onreadystatechange = startAjaxingText;
        xmlHttp.open("GET", url, true);
        xmlHttp.send(null);
    }
    functionstartAjaxingText() {
        if (xmlHttp.readyState != 4) {
            document.getElementById('image').style.display='block' ;
            document.getElementById('result').style.display='none' ;
        }
        if (xmlHttp.readyState == 4) {
            if (xmlHttp.status == 200) {
                    document.getElementById('image').style.display='none' ;
                    document.getElementById('result').style.display='block';
                    document.getElementById('result').innerHTML = xmlHttp.responseText;
            } else {
                alert("There was a problem with the request.");
            }
        }
    }
//get text 2 by ajaxfunctiongetText2(urlstarted) {
        xmlHttp = false;
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            xmlHttp = newXMLHttpRequest();
            if (xmlHttp.overrideMimeType) {
                // set type accordingly to anticipated content type//http_request.overrideMimeType('text/xml');
                xmlHttp.overrideMimeType('text/html');
            }
        } elseif (window.ActiveXObject) { // IEtry {
                xmlHttp = newActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    xmlHttp = newActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
        if (!xmlHttp) {
            alert('Cannot create XMLHTTP instance');
            returnfalse;
        }
        var url=urlstarted+"/jsp/viewText2.jsp"; //put the link to ur Ajax page here
         xmlHttp.onreadystatechange = startAjaxingText2;
        xmlHttp.open("GET", url, true);
        xmlHttp.send(null);
    }
    functionstartAjaxingText2() {
        if (xmlHttp.readyState != 4) {
            document.getElementById('image').style.display='block' ;
            document.getElementById('result').style.display='none' ;
        }
        if (xmlHttp.readyState == 4) {
            if (xmlHttp.status == 200) {
                    document.getElementById('image').style.display='none' ;
                    document.getElementById('result').style.display='block';
                    document.getElementById('result').innerHTML = xmlHttp.responseText;
            } else {
                alert("There was a problem with the request.");
            }
        }
    }
now your buttons will look like this
    <input name="button_1"id="button_1"type="button" value="button_1" onclick="getText1('<%=request.getContextPath()%>');" />
     <input name="button_2"id="button_2"type="button" value="button_2" 
onclick="getText2('<%=request.getContextPath()%>');" />
your div will look like
<divid="image"style="display:none"><imgsrc="<%= request.getContextPath()%>/images/ajax-loader.gif"alt="Loading...."/></div><divid="result"style="display:none"></div></td>your viewText1.jsp page that doing ajax part
out.println("text1");//or any logic u want your viewText2.jsp page that doing ajax part
out.println("text2");//or any logic u want note that : the result of viewText1.jsp or viewText2.jsp must be a text either a table or paragraphs
Solution 2:
Client-side implementation
You will have to use AJAX to load content from the server dynamically.
- Consider designing your frontend as SPA. Look into AngularJS or Knockout. 
- Also, you can use old-school approach by using something like jQuery AJAX if this is just a small area of your application. 
Separation of concerns
I strongly suggest to consider the idea to separate concerns by using server as a REST service and frontend as a client. This is the best practice for large applications if you want to keep them maintainable and scalable.
You should look for tutorials of how to implement REST with your server-side technology. It's very common practice so I think you should be able to find one.
If you have any questions I will be glad to update this answer.
Post a Comment for "Changing Part Of The Html Page Without Refreshing Whole Page"