AJAX和file_get_contents

I have a script which uses file_get_contents and I then decode the returned JSON...

$urlone = json_decode(file_get_contents("http://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=false&screen_name=".$screen_name."&count=".$tweet_count."&page=1"),true);

What I would like to achieve is a callback so I can have a nice loader and then animate contents in when complete. Is there a way to use JQuery to do an AJAX call if Javascript is enable and fallback to the default PHP if it is disabled?

what you can do is:

  • Confirm js is enabled in a previous request. If enabled link to php file that depends on javascript enabled. if not, link to php file that directly shows output. You could do this with a combination of Meta redirect and Javascript.
  • Or call the php file with direct output in an iframe that is inside a <noscript> tag, belonging to a tag that does the jquery.

in the first option you would have file.php link to either fileWithJs.php or fileWithoutJs.php

in the second option you would have something like this:

<script>
    // jquery here
</script>
<noscript><iframe src="data.php"></iframe></noscript>

PHP doesn't know if the user has JavaScript enabled when it handles the request from the user, at least not on the first request.

Normally you would assume the user has no javascript and enhance from there, but as you want to 'fallback' to PHP, you would need to render the JSON anyway regardless of whether the user had JavaScript functionality - so using JavaScript would now be a tad pointless as you (and the user) already have the data.