You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Michel Jansen <Mi...@Web-ICT.com> on 2015/09/07 22:15:23 UTC

no_cache(1)

if i add $r->no_cache(1) to an ajax responder perl script the browser 
receives a 0 in the response, what am i doing wrong?


Regards,

Michel

Re: no_cache(1)

Posted by John Dunlap <jo...@lariat.co>.
Michel, if you go into your browser's network debugging console(usually
CTRL+SHIFT+I in modern browsers) and look at the response headers for the
ajax request, do you see a cache-control header? If so, what does it say?
If you're seeing something similar to the following:

Cache-control:no-cache

then $r->no_cache(1) is working and the problem lies elsewhere in your
application.

Cheers!
John

On Mon, Sep 7, 2015 at 4:39 PM, Michel Jansen <ma...@web-ict.com>
wrote:

>
> Hi Paul,
>
> You wrote:
>
> Helle Michel,
>
> Are you calling $r->no_cache before any response data has been sent?
>
>
> Yes. Before setting the content type to text/html.
>
> When you say the browser receives a '0' in the response, what do you mean
> exactly?
>
>
> My Ajax responder sends some fields separated by | which are being split
> and then distributed into a page. The 0 is received by the JavaScript which
> performes the Ajax request as first response and is then connected to the
> first field.
>
> Do i make sense ?
>
>
> Thanks,
>
> Paul
>
> On Mon, Sep 7, 2015 at 4:15 PM, Michel Jansen <Mi...@web-ict.com>
> wrote:
>
>> if i add $r->no_cache(1) to an ajax responder perl script the browser
>> receives a 0 in the response, what am i doing wrong?
>>
>>
>> Regards,
>>
>> Michel
>>
>
>


-- 
John Dunlap
*CTO | Lariat *

*Direct:*
*john@lariat.co <jo...@lariat.co>*

*Customer Service:*
877.268.6667
support@lariat.co

Re: no_cache(1)

Posted by John Dunlap <jo...@lariat.co>.
I am going to echo Paul's comments. If you've used a print anywhere in your
code prior to invoking $r->no_cache(1); then it's not going to work because
sending of even a single byte of content will cause apache to send the
response headers and you are then unable to modify the response headers
once they have already been sent.

On Mon, Sep 7, 2015 at 4:51 PM, Paul Silevitch <pa...@silevitch.com> wrote:

> Weird.
>
> Try the following instead:
>
> $r->headers_out->set('Pragma' => 'no-cache');
> $r->headers_out->set('Cache-Control' => 'no-cache');
>
> I've actually never used 'no_cache' before but instead used the above two
> lines.
>
> Let me know if it works for you.
>
> Thanks,
>
> Paul
>
> On Mon, Sep 7, 2015 at 4:39 PM, Michel Jansen <ma...@web-ict.com>
> wrote:
>
>>
>> Hi Paul,
>>
>> You wrote:
>>
>> Helle Michel,
>>
>> Are you calling $r->no_cache before any response data has been sent?
>>
>>
>> Yes. Before setting the content type to text/html.
>>
>> When you say the browser receives a '0' in the response, what do you mean
>> exactly?
>>
>>
>> My Ajax responder sends some fields separated by | which are being split
>> and then distributed into a page. The 0 is received by the JavaScript which
>> performes the Ajax request as first response and is then connected to the
>> first field.
>>
>> Do i make sense ?
>>
>>
>> Thanks,
>>
>> Paul
>>
>> On Mon, Sep 7, 2015 at 4:15 PM, Michel Jansen <Mi...@web-ict.com>
>> wrote:
>>
>>> if i add $r->no_cache(1) to an ajax responder perl script the browser
>>> receives a 0 in the response, what am i doing wrong?
>>>
>>>
>>> Regards,
>>>
>>> Michel
>>>
>>
>>
>


-- 
John Dunlap
*CTO | Lariat *

*Direct:*
*john@lariat.co <jo...@lariat.co>*

*Customer Service:*
877.268.6667
support@lariat.co

Re: no_cache(1)

Posted by Paul Silevitch <pa...@silevitch.com>.
Weird.

Try the following instead:

$r->headers_out->set('Pragma' => 'no-cache');
$r->headers_out->set('Cache-Control' => 'no-cache');

I've actually never used 'no_cache' before but instead used the above two
lines.

Let me know if it works for you.

Thanks,

Paul

On Mon, Sep 7, 2015 at 4:39 PM, Michel Jansen <ma...@web-ict.com>
wrote:

>
> Hi Paul,
>
> You wrote:
>
> Helle Michel,
>
> Are you calling $r->no_cache before any response data has been sent?
>
>
> Yes. Before setting the content type to text/html.
>
> When you say the browser receives a '0' in the response, what do you mean
> exactly?
>
>
> My Ajax responder sends some fields separated by | which are being split
> and then distributed into a page. The 0 is received by the JavaScript which
> performes the Ajax request as first response and is then connected to the
> first field.
>
> Do i make sense ?
>
>
> Thanks,
>
> Paul
>
> On Mon, Sep 7, 2015 at 4:15 PM, Michel Jansen <Mi...@web-ict.com>
> wrote:
>
>> if i add $r->no_cache(1) to an ajax responder perl script the browser
>> receives a 0 in the response, what am i doing wrong?
>>
>>
>> Regards,
>>
>> Michel
>>
>
>

Re: no_cache(1)

Posted by Michel Jansen <ma...@web-ict.com>.
Hi Paul,

You wrote:
> Helle Michel,
> 
> Are you calling $r->no_cache before any response data has been sent? 

Yes. Before setting the content type to text/html.

> When you say the browser receives a '0' in the response, what do you mean exactly?

My Ajax responder sends some fields separated by | which are being split and then distributed into a page. The 0 is received by the JavaScript which performes the Ajax request as first response and is then connected to the first field.

Do i make sense ?

> 
> Thanks,
> 
> Paul
> 
>> On Mon, Sep 7, 2015 at 4:15 PM, Michel Jansen <Mi...@web-ict.com> wrote:
>> if i add $r->no_cache(1) to an ajax responder perl script the browser receives a 0 in the response, what am i doing wrong?
>> 
>> 
>> Regards,
>> 
>> Michel
> 

Re: no_cache(1)

Posted by Paul Silevitch <pa...@silevitch.com>.
Hello Michel,

Are you calling $r->no_cache before any response data has been sent?  When
you say the browser receives a '0' in the response, what do you mean
exactly?

Thanks,

Paul

On Mon, Sep 7, 2015 at 4:15 PM, Michel Jansen <Mi...@web-ict.com>
wrote:

> if i add $r->no_cache(1) to an ajax responder perl script the browser
> receives a 0 in the response, what am i doing wrong?
>
>
> Regards,
>
> Michel
>