通过JS发送参数并以PHP接收

时间:2019-07-03 15:43:10

标签: php angular

嘿,尝试将字符串参数(刨床)从TS / JS文件发送到PHP文件。我想将其添加到路径中以获取目录的所有文件名。

但是我什么也没收到,而是一个空字符串(“”)。为了进行测试,我将再次返回刨床。

TS / JS:

    let data = new FormData();
    data.append('planer', this._planer)

    let http = new XMLHttpRequest()
    http.open('POST', Globals.PATH + '/scripts/getMasterplan.php', true)

    http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    http.send(data)

PHP:

<?php

$planer = filter_input( INPUT_POST , "planer" , FILTER_SANITIZE_STRING );   

$planer = htmlspecialchars( $planer );

if( isset($planer) ) {

    $path = '../shared_plaene/master/' . $planer;

    $files = scandir($path);

    echo $planer;
}
else echo 'Error with planer code';

?>

1 个答案:

答案 0 :(得分:1)

http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

FormData将被编码为多部分数据,而不是URL编码数据。

由于您在说谎Content-Type,PHP无法正确解析它。

删除该行。如果您不覆盖内容类型,XHR将正确设置它。