Javascript读取一个php文件,而不是运行它

时间:2013-11-10 18:55:49

标签: javascript php jquery

我正在为数组格式化程序创建一个动态csv,其中一部分显示格式化数组,另一部分是为它显示代码。我不能让它显示代码而不再显示数组,我该怎么做?

-Javascript

$.post('csv.php', {names : names, fp : fp}, function(data){
         $('#arrayDisp > center > textarea').html(data);
        $.ajax({
              url: "csv.php",
              context: document.body,
              success: function(){
                $('#codeDisp > center > textarea').html(data);
              }
        });
    });

-PHP     

$file = file(_FILE_PATH, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

$data = array();

$line_number = 0;
foreach($file as $f) {
    $line = explode(',', $f);
    $i = 0;
    foreach($line as $l) {
        $data[$line_number][$names[$i]] = $l;
        $i++;
    }
    $line_number++;
}

json_encode($data);
print_r($data);
?>

3 个答案:

答案 0 :(得分:0)

你可以尝试

foreach($data as $key => $value)
{
  echo $key." has the value". $value;
}

这可能适合你

答案 1 :(得分:0)

我修改脚本以接受GET参数。所以它读起来像这样

if($_GET['showSource'])
  highlight_file ($_SERVER['PHP_SELF']);
else
  //do stuff

所以你的JS调用实际上是两个调用,首先你调用脚本没有?showSource = 1所以你将得到解析的csv thingy,然后你用调用 / em>?showSource = 1并显示源。

答案 2 :(得分:0)

感谢使者的有用提示,我找到了问题的答案 -

我在我的帖子请求中添加了一个请求变量,并在每个请求时重命名 -

var request = 'array';
$.post('csv.php', {names : names, fp : fp, request : request}, function(data){
     $('#arrayDisp > center > textarea').html(data);
    request = 'code';
    $.post('csv.php', {names : names, fp : fp, request : request}, function(data){
        $('#codeDisp > center > textarea').html(data);
    });
});

然后在我的PHP代码中我做了这个 -

if ($_POST['request'] === "array") {
    json_encode($data);
    print_r($data);
}
else if ($_POST['request'] === "code") {
    echo file_get_contents('csv.php');
}