表单操作和ajax查询自定义名称图像上传和发送到MySQL的数据

时间:2016-07-20 08:28:44

标签: php mysql ajax

最重要的是,感谢您一直以来给予我的帮助。我在编码方面真的很新,但我或多或少都能通过,而且我从0创建了一个网站(www.mundopedales.com

但今天我真的陷入了一种形式,我希望它能做两个动作,将数据发送到MySQL数据库并上传带有自定义名称的图像文件。我可以同时运行但不能同时运行,如果一个运行,另一个运行则不会。

表单操作运行此文件,我可以在其中发送自定义名称和图像的输入文本:

<form action="upload.php" id="send-bike" method="post" enctype="multipart/form-data">
<input type='text' name='newname' id='newname' placeholder='Image filename'/>
<input type="file" name="fileToUpload" id="fileToUpload">

按钮:

<input id="postData" type="button" value = "post">

Ajax代码就是这个,我在这里得到了好奇的行动:

$('#postData').click(function (e) {
e.preventDefault();
var newname = $('#newname').val();
var dataString = 'newname=' + newname;
$.ajax({
    type: 'POST',
    url: 'sendbike.php',
    data: dataString,
    success: function () {  
        $('#send-bike').submit();
        //window.location.assign('http://www.mundopedales.com/crear-bicicletas.php');//if I untag this line I change upload.php to work and then sendbike.php runs....
        }
    });    

});

不要理解为什么会做出这种改变,以及如何让两者同时运行。

提前致谢并抱歉我的英语不好(西班牙制造......)

1 个答案:

答案 0 :(得分:1)

使用jQuery的.submit()

$('#send-bike').submit(function(){

    var formData = new FormData($(this)[0]); /* DATA FROM THIS FORM */

    $.ajax({
        type: 'POST',
        url: 'sendbike.php',
        data: formData,
        contentType: false,
        processData: false,
        success: function () {  
            alert('success uploading!');
        }
    });

    return false;

});

只需将提交的数据处理为sendbike.php