交换数据php javascript

时间:2016-09-23 14:06:18

标签: javascript php jquery

我必须在本地选择一个文件并在python脚本中使用它。

enter image description here

我无法获取文件名,以便在我用来调用php函数的ajax脚本中使用它。 这是我的javascript,名为onclick over Ok button:

function myAjax () {
    $.ajax( { type : 'POST',
        data : {},
        url  : 'action.php',              
        success: function ( data ) {
            alert( data );               
        },
        error: function (xhr, status, error) {
            // executed if something went wrong during call
            if (xhr.status > 0) alert('got error: ' + status); // status 0 - when load is interrupted
        },
        complete: function (data) {
            setImg();
        }
    });
}

这是用于调用python脚本的php脚本:

<?
function bb(){
    $out = shell_exec( 'python heatmap.py');
    echo "ok";
    $fp = fopen('log.txt', 'w');
    fwrite

($fp, $out);
    fclose($fp);
}
bb();
?>

我必须从Browse按钮中取出文件名并将其发送到ok按钮,在那里调用python。 从input =“file”html,javascript和php交换数据的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我在这里做了很多假设,因为问题并不完全清楚......

但是大概你想要从操作系统中选择一个文件的名称。在JS中,您可以使用以下命令执行此操作。

var fileName, oForm = document.getElementById('my-file'); oForm.onchange = function(){ fileName = this.files[0].name; }

然后在您的AJAX调用中,将fileName变量添加到您的data属性中。

data : {"filename":fileName},

然后在PHP中通过$_POST变量访问它。所以......

echo $_POST['filename'];