Javascript 无法从服务器中的php调用Ajax函数

Javascript 无法从服务器中的php调用Ajax函数,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,在单击submit按钮提交表单后,从php调用ajax函数时遇到问题。在Localhost上一切正常,但当我将所有php传输到FTP服务器时,所有功能都无法工作 在Localhost中,我可以将文件上传提交到文件系统,我将其命名为uploads folder,然后使用query将表单的数据插入数据库。但是当我在FTP服务器上尝试时,我也创建了一个uploads文件夹来存储上传的文件,它无法工作 我的代码或任何需要设置的配置中有任何错误吗?请指给我看 这是我用来提交表单的php代码: school

在单击submit按钮提交表单后,从php调用ajax函数时遇到问题。在Localhost上一切正常,但当我将所有php传输到FTP服务器时,所有功能都无法工作

在Localhost中,我可以将文件上传提交到文件系统,我将其命名为uploads folder,然后使用query将表单的数据插入数据库。但是当我在FTP服务器上尝试时,我也创建了一个uploads文件夹来存储上传的文件,它无法工作

我的代码或任何需要设置的配置中有任何错误吗?请指给我看

这是我用来提交表单的php代码:

schoolform.php

<!--Banner Item No 1 Start-->
<div class="box box-primary1"  id="no1" style="display:block;">
<div class="box-header">
<h3 class="box-title">Upload New Form Here <small>Only PDF</small></h3>
     </div>
     <div class="box-body">
     <form class="form" id="form" action="" method="POST" enctype="multipart/form-data">
     <div class="box-body">
     <div class="form-group" >
     <label for="formName">Form Name</label>
     <input type="text" class="form-control" name="formName" id="formName" placeholder="Please Enter Name" onChange="checkDisabled(testing);">
     </div>

     <div class="form-group" >
     <label for="formDescription">Form Description</label>
     <input type="text" class="form-control" name="formDescription" id="formDescription" placeholder="Please Enter Description" onChange="checkDisabled(testing);">
     </div>
     <div class="form-group">
     <label for="exampleInputFile">File input</label>
     <input type="hidden" name="MAX_FILE_SIZE" value="2000000">
     <input type="file" id="uploaded_file" name="uploaded_file"  onChange="checkDisabled(testing);"><br>
     <p class="help-block">You file must not more than 1MB.     (Only PDF allowed)</p>
     </div> 

     <div class="checkbox">
     <button id="testing" type="submit" class="btn btn-primary" disabled>Add</button>        
     </div>
     </div><!-- /.box-body -->


     </form>         <!-- Date range -->
                     <!-- /.form group -->

                     <!-- Date and time range -->


                     <!-- /.form group -->

                     <!-- Date and time range -->
                     <!-- /.form group -->

                     </div><!-- /.box-body -->
                     </div><!-- /.box -->
以下是我的查询函数,用于将数据插入数据库和文件系统:

<?php
include 'dbConnection.php';

global $dbLink;

    $path = "uploads/";

    $valid_formats = array("PDF", "pdf");
    if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
        {
            $name = $_FILES['uploaded_file']['name'];
            $size = $_FILES['uploaded_file']['size'];
            $fName = $dbLink->real_escape_string($_POST['formName']);
            $fDescription = $dbLink->real_escape_string($_POST['formDescription']);

            if(strlen($name))
                {
                    list($txt, $ext) = explode(".", $name);
                    if(in_array($ext,$valid_formats))
                    {
                    if($size<(1024*1024))
                        {
                            $actual_image_name = time().substr(str_replace(" ", "_", $txt), 5).".".$ext;
                            $tmp = $_FILES['uploaded_file']['tmp_name'];
                            if(move_uploaded_file($tmp,$path.$actual_image_name))
                                {

                                //mysqli_query ($db,"INSERT INTO image VALUES('','hello','$actual_image_name')");
                                //mysqli_query($db,"UPDATE users SET profile_image='$actual_image_name' WHERE uid='$session_id'");
                                $query = "INSERT INTO schoolform_item (schoolform_name,schoolform_description,schoolform_data,schoolform_created) VALUES ('{$fName}','{$fDescription}','{$actual_image_name}', NOW())";
                                $result = $dbLink->query($query);
                                }
                            else
                                echo "failed";
                        }
                        else
                        echo "Image file size max 1 MB";                        
                        }
                        else
                        echo "Invalid file format..";   
                }

            else
                echo "Please select image..!";

            exit;
        }
?>
我是否遗漏了任何步骤或代码是否有误?因为当我尝试使用xammp在localhost上运行时,一切都正常。当把它放在服务器上时,它就变成了故障。
请引导我通过这个

确认框从未出现的原因实际上是因为第147行的jquery.confirm.js中有一个错误:未捕获引用错误:未定义数据选项我看到您正在使用jquery.confirm.js版本2.3.1

在正式版本中,文件结尾如下:

在副本中,文件的结尾如下所示:

我会用原始代码替换该代码位,或者,更好的是,从

中获取文件的新副本,尝试$.post而不是$.ajax{},然后查看。也许这是原因,$.post被简化了。更多信息

还可以尝试更改:

var formData=new formData$this[0]

致:

var formData=jQuery'myform'。序列化

也请尝试以下代码:

$form.submitfunction{ifconfirm'您确定吗?{$.post'schoolFormItem',{data:$'form'.serialize},函数{$'form resetbtn'。触发器'click';警报'success'}否则{alert'not post';返回false;}

在顶部,有:

并将代码包装为:


jQueryfunction{//我们的代码在这里}

可能是您在服务器上面临一些权限问题。请检查您的上传文件夹权限。@ajaykumartak我已经启用了所有权限。但现在的问题是代码无法调用ajax函数,该函数应该会弹出一个确认框供用户选择单击“确定”还是“取消”,然后只会将数据插入数据库并将文件上载到文件夹中。控制台中是否有错误?如果您没有使用,请使用mozilla扩展Firebug。我是否遗漏了什么?保存文件的代码在哪里?我所看到的只是您的数据库中的数据库代码php@DelightedD0D嗨,我已经编辑了我的代码,很抱歉我粘贴了错误的代码嗨,它仍然不能解决问题。在本地主机上一切正常。当我把代码放到服务器上时,它就不工作了。它不调用我的Ajax函数来调用schoolFormItem.php。我曾尝试硬编码调用schoolFormItem.php函数,但它只将数据插入我的数据库,而不会将文件上载到服务器的Uploads文件夹中。即使您只允许使用PDF文件扩展名,也会在本地保存图像?好的,等等,那么ajax代码永远不会被触发?让我再看一遍。。我仍然认为您可能需要同时允许图像文件格式…嗨,是的,我尝试在表单上硬编码schoolForm.php的调用,现在服务器上一切正常。但是我想尝试一下ajax调用,它只是不能启动ajax调用来调用schoolForm.php文件,这很奇怪…你的页面可以在线查看吗?$.ajax{}和$.post有什么不同?$.post是简化的$.ajax@marcust不确定为什么我的代码不能在服务器上启动ajax函数它可以启动其他jQuery函数吗?还是没有运气,确认框仍然没有弹出
<?php
include 'dbConnection.php';

global $dbLink;

    $path = "uploads/";

    $valid_formats = array("PDF", "pdf");
    if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
        {
            $name = $_FILES['uploaded_file']['name'];
            $size = $_FILES['uploaded_file']['size'];
            $fName = $dbLink->real_escape_string($_POST['formName']);
            $fDescription = $dbLink->real_escape_string($_POST['formDescription']);

            if(strlen($name))
                {
                    list($txt, $ext) = explode(".", $name);
                    if(in_array($ext,$valid_formats))
                    {
                    if($size<(1024*1024))
                        {
                            $actual_image_name = time().substr(str_replace(" ", "_", $txt), 5).".".$ext;
                            $tmp = $_FILES['uploaded_file']['tmp_name'];
                            if(move_uploaded_file($tmp,$path.$actual_image_name))
                                {

                                //mysqli_query ($db,"INSERT INTO image VALUES('','hello','$actual_image_name')");
                                //mysqli_query($db,"UPDATE users SET profile_image='$actual_image_name' WHERE uid='$session_id'");
                                $query = "INSERT INTO schoolform_item (schoolform_name,schoolform_description,schoolform_data,schoolform_created) VALUES ('{$fName}','{$fDescription}','{$actual_image_name}', NOW())";
                                $result = $dbLink->query($query);
                                }
                            else
                                echo "failed";
                        }
                        else
                        echo "Image file size max 1 MB";                        
                        }
                        else
                        echo "Invalid file format..";   
                }

            else
                echo "Please select image..!";

            exit;
        }
?>
    /**
     * Globally definable rules
     */
    $.confirm.options = {
        text: "Are you sure?",
        title: "",
        confirmButton: "Yes",
        cancelButton: "Cancel",
        post: false,
        confirmButtonClass: "btn-primary"
    }
})(jQuery);
     /**
     * Globally definable rules
     */
    var settings = $.extend({}, $.confirm.options = {
        confirm: $.noop,
        cancel: function (o) {},
        button: null,
        text: "Are you sure?",
        title: "Warning!",
        confirmButton: "Yes",
        cancelButton: "Cancel",
        post: true,
        confirmButtonClass: "btn-primary",
        cancelButtonClass: "btn-default"
    }, dataOptions, options);
})(jQuery);