How to get Json as key and value in the Ajax $.getJSON()?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • notfound
    New Member
    • Jun 2012
    • 28

    How to get Json as key and value in the Ajax $.getJSON()?

    I have this ajax code for getting json from Jobs.json file.
    Code:
     $(document).ready(function(){
            $('#btn2').click( callJobs );
            });
    
    function callJobs()
    {
    
    
         alert("getting results...");
        $.getJSON('Jobs.json', function(JSON){
            $('#result').empty();
    
            $.each(JSON.jobs, function(i, JOB){
                $('#result')
                .append(JOB.Job +'<br />')
                .append(JOB.Priority+'<br />')
                .append(JOB.DueDate+'<br />')
                .append(JOB.Iscompleted+'<hr />');
          });
        });
    }
    Jobs.json code is below.
    Code:
    {
    "jobs":[
      {
         "Job":"Job1",
         "Priority":"Low",
         "DueDate":"11.03.2013",
         "Iscompleted":"No"
      },
      {
         "Job":"Job2",
         "Priority":"High",
         "DueDate":"11.03.2013",
         "Iscompleted" : "No"
      },
      {
         "Job":"Job3",
         "Priority":"Medium",
         "DueDate":"11.03.2013",
         "Iscompleted":"No"
      }
      ]
      }
    Now I want to rewrite $.each function dynamically.Tha t is, it will write the json string as key and value instead of .append() .
  • acoder
    Recognized Expert MVP
    • Nov 2006
    • 16032

    #2
    See the first example in the documentation to give you an idea:

    Comment

    • notfound
      New Member
      • Jun 2012
      • 28

      #3
      I tried like this.Which part do you think wrong?
      Code:
      <html>
          <head>
              <title>To-Do</title>
              <meta name="description" content="To-Do" charset="utf-8">
              </meta>
      
              <script language="javascript" type="text/javascript">
      function mr(type,URL) {
      
                      var hr = new XMLHttpRequest();
      
                      //SET UP VARS CORRECTLY FOR GET/POST
                      var content = document.getElementById("content").value;
                      var vars = "content=" +content;
      
                      if (type == 'GET')
                          URL = URL + '?' + vars;
      
                      //SET EVENTHANDLERS (THERE ARE ALOT MORE)
                      hr.onreadystatechange = function() {
                          if (hr.readyState == 4 && hr.status == 200) {
                              var return_data = hr.responseText;
                              document.getElementById("result").innerHTML = return_data;
                          }
      
                      }
                      //OPEN THE REQUEST
                      hr.open(type, URL, true);
      
                      //SET HEADERS
                      hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      
                      switch(type) {
                          case 'GET':
                              hr.send();
                              break;
                          case 'POST':
                              hr.send(vars);
                              break;
                      }
      
                      document.getElementById("result").innerHTML = "Processing...";
      
                  }
      </script>
              <style type="text/css">
                  button {
                      cursor: pointer
                  }
                  div {
                      color: #666;
                      font: normal 13px "Trebuchet MS";
                      width: 350px;
                      padding: 10px
                  }
              </style>
          </head>
      
          <body>
              <div>
                  Add Item:
                  <input type="text" name="name" id="content">
                  <br>
                  <button onclick="javascript:mr('POST','To-Do.php');" type="button" id="btn1">
                      Submit
                  </button>
                  <br>
                  <button onclick="javascript:mr('GET','get.php');" type="button" id="btn2" >
                      List Jobs
                  </button>
                  <div id="result"></div>
              </div>
          </body>
      </html>

      Comment

      • acoder
        Recognized Expert MVP
        • Nov 2006
        • 16032

        #4
        This seems to be for your other question?

        Comment

        Working...