1
我有一個編碼對象,其中包含通過ajax調用發送到某個php文件的圖層數組myfile.php。 php文件只是解碼這個對象,並將圖層名稱推入數據庫。現在我想在當前推送到數據庫的前端顯示layerName。在php中執行echo命令
我的Ajax請求如下:
$.ajax(
{
type: 'POST',
url: "funcs.php",
data:
{
targetAction : 'getProjectAssetId',
MetaData: allFiles,
},
success: function(data)
{
console.log("data: "+data);
},
//dataType: "json"
});
Funcs.php編碼對象處理如下:
if(isset($_POST['MetaData']))
{
$project= explode("ProjectTag",$_POST['MetaData']);
echo "\nProject: ".$project[0]."\n";
$projectName=explode("Bounds: ",$project[0]);
$projectBounds=$projectName[1];
$projectName=explode("ProjectName:",$projectName[0]);
$projectName=$projectName[1];
echo "ProjectName: ".($projectName)."\n"."ProjectBounds: ".$projectBounds."\n";
$bound=json_decode($projectBounds,true);
// Hard coded groupID and no reference ID
$projectId= getProjectAssetId($projectName,25,'',$bound,''); // inserting Project Name in DB with hardcoded groupID and no reference
echo "\n ProjectId: ".$projectId."\n";
$files=explode(",oneFileTag,",$project[1]);
for($fileCounter=0;$fileCounter<count($files);$fileCounter++)
{
$message='Adding Layer: '.$files[$fileCounter];
echo'<scripttype="text/javascript">alert(\'asd\');notification("'.$message.'",2,"loading"); </script>';
$Layer=explode("LayerFieldTag",$desFileFields[0]);
$LayerName=explode("LayerName:",$Layer[0]);
$LayerName=$LayerName[1];
echo "\n\n\nLayerName: ".($LayerName)."\n";
$typeId= getLayerAssetType($LayerName,1);
$layerId=getLayerAssetId($LayerName,$projectId);
echo "\ntypeid: ".$typeId."\n";
echo "\nLayerid: ".$layerId."\n";
}
我想在for循環中執行JavaScript的功能,我的意思是我想在用js文件寫入的對話框中顯示所有文件名。我面臨的問題是它會被回聲調用,但是這個回聲會被捕獲到ajax請求的成功函數。我想執行這個echo命令。
創建一個在循環中填充的數組,然後在迴路後將其作爲json_encoded字符串回顯 – adeneo
您好先生,我希望在每次迭代時調用javascript函數。我想顯示所有文件的用戶進度。 –
@ user2174920在你的問題中沒有什麼要求向用戶顯示進度,要清楚你真正想要在這裏解決什麼問題 – dbf