Server Side Reload Initiation on Ajax Call

前端 未结 3 1534
南方客
南方客 2020-12-07 05:19

I need to initiate a reload from the server side(PHP) durring and AJAX call. How do I do this. I honestly don\'t think it is supported.

My current method is to u

相关标签:
3条回答
  • 2020-12-07 05:56

    The only way to reload the entire page is to change the window.location. You can't do that from the server. Every action must be initiated from the client - that's fundamental of restful protocols like HTTP.

    However, your server could send back the entire document, and you could then 'pick' the portion to replace. jQuery allows this with the load function.

    For instance this would reload the BODY: $('body').load('ajax/page.html body');

    0 讨论(0)
  • 2020-12-07 05:58

    There is a pattern that uses AJAX to create a PUSH-alike application. I don't know the real name of the paradigm, nor a good implementation, but this is basically how it works:

    1. Client makes AJAX request to server.
    2. Server doesn't close the connection.
    3. When server wants to push. server says:
      a. Process push message X
      b. Initiate a new connection. (i.e. goto 1.)
      < Server closes connection >

    So there is always a "hanging" connection, and as soon as the server wants to respond, the client immediately creates a new one that hangs again.

    0 讨论(0)
  • 2020-12-07 06:01

    Send a command/flag back to your Ajax handler to make it call the following JavaScript method in the page:

    window.location.reload();
    
    0 讨论(0)
提交回复
热议问题