我正在使用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>
图片