亲爱的编码员!
我的代码的目的:
获取特定文件夹中列出的文件的 URL,然后将它们分配给 javascript 中的数组。
我的想象:JavaScript 函数test.php
使用$.post()
方法将值发送到getURL.php
文件。在此之后,getURL.php
使用此值获取特定文件夹中的特定文件 URL。我在$.post()
方法function(data)
参数中得到结果。在此之后,“数据”的结果值在 JavaScript 中是(/将被使用)。
问题:在$.post()
方法函数内部:function(data,status) I'm satisfied with the result of the returned value of the data parameter; the PROBLEM is that I can't assign it's value outside this function:
函数(数据,状态)`。
测试.php
<script src="jquery-1.9.1.js">
</script>
<script type="text/javascript">
var imgPath; // <--He is who should get the value of "data"
function getTargetUrl(szolg){
$.post(
"getURL.php",
{ x: szolg },
function(data,status){
alert("in function: " + data + " status: " + status);
imgPath=data;
alert (imgPath);
}
);
}
$(document).ready(function() {
var a="szolg5"; //it will be "user defined", used in getURL.php
getTargetUrl(a);
alert(imgPath);
});
</script>
获取URL.php
<?php
if(isset($_POST["x"])){
$queryGlob='img/'.$_POST["x"].'/batch/*.jpg';
foreach (glob($queryGlob) as $filename) {
$imgFiles=json_encode($filename);
$imgFiles=str_replace('\/','/',$imgFiles);
echo $imgFiles;
}
//$data = str_replace('\\/', '/', json_encode(glob('img/'.$_POST["x"].'/batch/*.jpg')));
}
else{
$imgFiles="FAIL";
echo $imgFiles;
}
?>
注意:为了测试我使用的是谷歌浏览器。
所以这就是我的猜测,希望有人能给我一个解决方案和可能的解释。