来自AJAX的回报-保持稳定

时间:2019-03-07 23:29:35

标签: javascript ajax asynchronous return

我正在使用AJAX和PHP。

说明:

我有一个HTML页面,其中包含一些普通的JS和AJAX。

我的AJAX对象向PHP服务器发出请求。服务器返回一些JSON对象。我的代码接受和处理哪些代码(动态创建表以及数据)。

我在寻找什么

但是,我想将数据(JSON对象)存储在全局 VAR 中,我的JS脚本中的任何函数都可以访问。

我不想在AJAX请求中进行所有处理。

我已阅读的内容:

我已经阅读了异步和同步请求的各个方面,但是我仍然对如何使用回调函数检索数据感到困惑。因为每次尝试返回数据时,我都会得到 undefine em>值。

如果人们能够帮助我返回并了解JS的这一部分是如何工作的,那就太棒了。

请附上我正在执行的代码和图像(请考虑该图像显示了一个正在运行的系统,但所有处理都在AJAX请求中进行,这正是我的工作进行更改)。

谢谢。

代码:

<!DOCTYPE html>
<html>
<head>
  <title>Professor Page - Group 5</title>
  <meta charset="utf-8">

  <!-- CSS -->
  <link type="text/css" href="SORUCE FILE" rel="stylesheet">

  <!-- JS
  <script src="prof_create_xm_page.js"> </script>
  -->


</head>
<body onload="get_questions()">
  <section>
    <!-- SIDE MENUE -->
    <nav>
      <ul id="main_manu">
       <li> <a href="SORUCE FILE">Home</a></li>
       <li>Exams
    <ul>
       <li> <a href="SORUCE FILE"> Add Questions</a> </li>
       <li> <a href="SORUCE FILE">Create Exam</a> </li>
    </ul>
       </li>
       <li>Students
    <ul>
      <li> <a href="SORUCE FILE">Grading</a></li>
    </ul>
       </li>
      </ul>
    </nav>
    <article>
     <div id="outter_container">
      <div id="display_ques" class="innter_pannel">
      </div>
      <div id="selected_ques" class="innter_pannel">
      </div>
      <div>
       <button id="create_exam" onclick="create_exam()">Create Exam</button>
      </div>
     </div>
    </article>
  </section>

  <script>
   /*--------------------------------------------*/
   function contact_server(data){
    //Create AJAX object
    var xobj = new XMLHttpRequest();
    var method = "POST";
    var url = "URL TO CONTACT";

    //Open Connection
    xobj.open(method,url,true);
    xobj.setRequestHeader("content-type", "application/x-www-form-urlencoded");

    xobj.onreadystatechange = function()
    {
     if (xobj.readyState == 4 && xobj.status == 200){
      var respuesta_ = JSON.parse(xobj.responseText);
      console.log("AJAX");
      return respuesta_;
     }
    };

    xobj.send(data);
   }

   /*--------------------------------------------*/
   function display_questions(data){
    //SOME ACTION
   }
   /*--------------------------------------------*/
   function get_questions(){
    var data={
     "user":"ucid",
     "case":"GetQuestions",
     "filter":7
    };

    data= JSON.stringify(data);

    var response = contact_server(data);

    display_questions(response);

   }
  </script>
</body>
</html>

图片

enter image description here

0 个答案:

没有答案