2017-08-17 27 views
1

我想传递一个PHP变量的JavaScriptPHP变量传递给JavaScript的使用的getJSON()

在PHP(getStatus.php)我使用json_encode这样

$resultFin = array(); 
if (strpos($status,'Scan is complete') === true){ 
$resultFin[] = 1; 
} 
else{ 
    $resultFin[] = 0; 
} 

echo json_encode($resultFin); 
echo "$status"; 

,我希望得到上的javascript resultFin值所以我写下面的代码

echo '<script type="text/javascript"> 
$(document).ready(function() { 
$.post("scanner/getStatus.php", {testId:' . "$testId" . ',chkCnt:' . "$chkCount" . ',rxss:' . "$rxss" . ',sxss:' . "$sxss" . ',sqli:' . "$sqli" . ',basqli:' . "$basqli" . ',autoc:' . "$autoc" . ',idor:' . "$idor" . ',dirlist:' . "$dirlist" . ',bannerdis:' . "$bannerdis" . ',sslcert:' . "$sslcert" . ',unredir:' . "$unredir" . ',clamav:' . "$clamav" . '}, function(data){$("#status").html(data)}); 
    var refreshId = setInterval(function() { 
$.post("scanner/getStatus.php", {testId:' . "$testId" . ',chkCnt:' . "$chkCount" . ',rxss:' . "$rxss" . ',sxss:' . "$sxss" . ',sqli:' . "$sqli" . ',basqli:' . "$basqli" . ',autoc:' . "$autoc" . ',idor:' . "$idor" . ',dirlist:' . "$dirlist" . ',bannerdis:' . "$bannerdis" . ',sslcert:' . "$sslcert" . ',unredir:' . "$unredir" . ',clamav:' . "$clamav" . '}, function(data){$("#status").html(data)}); 
console.log("dfdfdf"); 
$.getJSON("scanner/getStatus.php", function(data){ 
     var fini; 
     fini = data; 
     console.log(fini); 
     if(fini == 1){ 
      clearInterval(refreshId); 
      } 
     }); 
}, 500); 
$.ajaxSetup({ cache: false }); 
});</script>'; 

我已经使用brakepoint的console.log( “dfdfd”)检查了它;

但不能进入的getJSON方法,但没有得到resultFin值

如何解决这个代码?

我使用的JavaScript

+0

在HTML隐藏输入中设置$ resultFin的值,并在javascript端访问它 – Lalit

+1

当你回显你的json编码的$ resultFin后回显状态时,你基本上正在破坏你的json。 –

回答

1

想resultFin值你getStatus.php应该是这样的:

$resultFin = array(); 
if (strpos($status,'Scan is complete') === true){ 
$resultFin['scan_completed'] = true; 
} 
else{ 
    $resultFin['scan_completed'] = false; 
} 

echo json_encode($resultFin); 

所以在前台可以使用fini.scan_completed这将是真的还是假的。

+0

或只是'$ resultFin = ['scan_completed'=> strpos($ status,'扫描完成')=== true]' – Phil