为什么从PHP传递javascript函数有时会执行,有时不执行?

时间:2016-05-07 03:08:29

标签: javascript php file-upload

我正在将文件上传到PHP并希望在警报中返回错误,或者更好地在div元素中返回错误。似乎当我不使用警报时,该函数总是无法产生所需的结果。虽然按ctrl-F5(chrome)来绕过缓存有时会有效,但有时会显示以下控制台消息:

  

writers.php:1未捕获的ReferenceError:未定义phpReturn

JS调用PHP

$('#writers').on('submit', function () {
    if (beforeSubmit()) {
        $(this).ajaxSubmit(options);
    } else return false;
}); 

这很好用。

RelevantPHP错误处理程序

    $finfo = finfo_open(FILEINFO_MIME_TYPE);
    $mime_type = finfo_file($finfo, $UploadDirectory . $NewFileName);
    finfo_close($finfo);
    if ($mime_type != 'application/pdf') {
        unlink($UploadDirectory . $NewFileName);
        echo "<script type='text/javascript'>phpReturn('File MUST be a PDF!');</script>";
    }

从PHP调用的JS函数

function phpReturn(errmsg) {
    if (errmsg != undefined) {
        alert(errmsg);
        $("#errmsg").text(errmsg).css({ 'display': 'block' });
    }
    window.location.href = "http://writers-tryst.ron-tornambe.com/#/writers";    

测试此行为有点棘手。您需要将非PDF文件重命名为具有PDF扩展名的文件。这是test site

0 个答案:

没有答案