testing jsfiddle

HTML

<!doctype html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=7,IE=9" />
    <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>
    <title>Write JSON To File</title>
    <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.5/js/dojo/dijit/themes/claro/claro.css">
    <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.5"></script>
    <script type="text/javascript" language="Javascript">
      dojo.require("esri.tasks.query");
      dojo.require("esri.map");

      var queryTask, query;

      function init() {
        queryTask = new esri.tasks.QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");
        query = new esri.tasks.Query();
        query.returnGeometry = false;
        query.outFields = ["SQMI","STATE_NAME","STATE_FIPS","SUB_REGION","STATE_ABBR"];

        dojo.connect(dojo.byId('runQuery'), 'onclick', execute);

        // write query params to a file
        esri.setRequestPreCallback(function(ioArgs) {
          if( ioArgs.url.search("query") > 0 &&
              dojo.byId("saveQueryJson").checked ) {
            saveJson(ioArgs.content);
          }
          return ioArgs;
        });
      }

      function execute() {
        query.text = dojo.byId('stateName').value;
        queryTask.execute(query, showResults);
      }

      function showResults(results) {
        var s = "";
        for (var i=0, il=results.features.length; i<il; i++) {
          var featureAttributes = results.features[i].attributes;
          for (att in featureAttributes) {
            s = s + "<b>" + att + ":</b>  " + featureAttributes[att] + "<br />";
          }
        }
        dojo.byId("info").innerHTML = s;
        if ( dojo.byId('saveResultJson').checked ) {
          saveJson(results.features);
    ...