java - HTML page as AJAX response? - Stack Overflow

admin2025-04-19  0

Can I send an entire HTML page with an AJAX response? If so, how to render that HTML page and what are the pros and cons doing that. The reason why I am asking this question is I found out that if we use response.sendRedirect("index.html") as a reply to an AJAX request in servlet we get the indx.html as AJAX response XML.

Can I send an entire HTML page with an AJAX response? If so, how to render that HTML page and what are the pros and cons doing that. The reason why I am asking this question is I found out that if we use response.sendRedirect("index.html") as a reply to an AJAX request in servlet we get the indx.html as AJAX response XML.

Share edited Aug 20, 2011 at 18:38 Michael Petrotta 61k27 gold badges152 silver badges181 bronze badges asked Aug 20, 2011 at 18:20 nathnath 2,84812 gold badges49 silver badges75 bronze badges 3
  • Do you want to redirect based on the result of an ajax request? – pimvdb Commented Aug 20, 2011 at 18:27
  • Can you rephrase? Your question is not very clear... – Nachshon Schwartz Commented Aug 20, 2011 at 18:27
  • @pimvdb yes I want to redirect. But I don't want page to be refreshed.Actually I am sending login info with ajax request. If the login success I want to redirect him to home page other wise I want show login error in login page. – nath Commented Aug 20, 2011 at 18:40
Add a ment  | 

3 Answers 3

Reset to default 3

Your question doesn't make much sense and I can't quite tell what you're asking - the response to an ajax request will be whatever the server sends back. It could be plain text, XML, HTML, a fragment of an HTML/XML document etc. What you can do with depends on your script. If you're using a library like jQuery, what happens on the client side and what you can do with the response can also depend on how the library interprets the response (Is it a script? It it HTML/XML or JSON?).

if we use response.sendRedirect("index.html") as a reply to ajax request in servlet we get the indx.html as ajax response xml. Can some one pls explain this

An ajax request will behave much like a 'regular' HTTP request. So when you send back a redirect from your server (HTTPServletResponse#sendRedirect), the browser follows the redirect just like it would for any other request. If your ajax request was to a resource that required HTTP BASIC authentication, you'd see a prompt to login, just like you would if you visited the URL directly in a new browser window.

If you want to send HTML as a response, because you want to update divs, tables or other elements, but still want to use the same css or javascript files then it can make sense.

What you can do is to just send it as plain/text back to the javascript function, it can then take that and put it into the inner html element that you want to replace, but, don't do this if you want to replace the entire page, then doing what you want is pointless.

When you make the http request for your ajax call, it has its own response stream, and so when you redirect you are just telling the browser to have that http request go to index.html, as @no.good.at.coding mentioned.

If I get your question, you just want to know whether you could return whole entire HTML with AJAX and know the pro and cons.

The short answer to your question is yes, you could return the entire HTML page with your AJAX response as AJAX is just an http request to the server.

Why would you want to get the entire HTML? That's confusing to me and that is the part that I am not clear about. If you want to want to render the entire HTML (including tags like html, body, etc?), you might as well open it as a new page instead of calling it via Ajax.

If you are saying that you only want to get fragments of HTML to populate a placeholder in your page via AJAX then this is an acceptable practice. jQuery even provides load() function (http://api.jquery./load/) to make that task easy for you to use (check the section Loading Page Fragments).

Using this method, you could populate the placeholder using the HTML Fragments that is dictated by your server logic (i.e when the login fails or succeed) including the one via server redirect in your question.

转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1745071545a283310.html

最新回复(0)