わかりました、ajax経由でPHP変数をjavascript変数に取得しようとしています。
私はこの変数を次のように見せるためのphpコードをいくつか持っています:(このトピックに関連するコードのみが機能するため、コード全体を配置しません。ARRAYであるnew_m変数があり、それを渡したいです)
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はまだ新しいです。事前に助けてくれてありがとう。