好的,我想通过 ajax 将 PHP 变量转换为 javascript 变量。
我有一些 php 代码使这个变量看起来像这样:(我不会放整个代码,因为它的工作所以只有与这个主题相关的代码。我有 new_m 变量,它是 ARRAY,我想传递它)
shuffle($new_m);
echo json_encode($new_m);
然后我有一个 js 文件,它应该捕获那个回声,它看起来像这样:
function getXMLHttp()
{
var xmlHttp
try
{
//Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
}
catch(e)
{
//Internet Explorer
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
alert("Your browser does not support AJAX!")
return false;
}
}
}
return xmlHttp;
}
function MakeRequest()
{
var xmlHttp = getXMLHttp();
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4)
{
var myvar = new Array();
var myvar=JSON.parse(xmlHttp.responseText);
return myvar;
}
}
xmlHttp.open("GET", "showimage.php", true);
xmlHttp.send(null);
}
当此代码不在此处的单独页面上并且 myvar 何时在函数内部使用时,它可以工作(因为我已在另一个页面上成功使用了此代码)。所以我认为我的问题是没有返回正确的变量或没有以正确的方式返回它。
最后一段代码是应该使用这个 myvar 的部分,它看起来像:
<script type="text/javascript" src="js/shuffle.js"></script>
<title>undf</title>
</head>
<body onload="MakeRequest()">
<script type="text/javascript">
alert(myvar);
var pos = 0;
var imgs = myvar;
</script>
什么也没有发生。我在这个 ajax 和 javascript 方面还是新手。感谢您提前提供帮助。