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


Form action and ajax query for custom name image upload and data sent to MySQL

首先,感谢您一直以来对我的帮助。我对编码真的很陌生,但或多或少我已经完成了,我正在从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....
        }
    });    

});

我不明白为什么会发生这种变化,也不明白我该如何让两者同时运行。

提前感谢并为我糟糕的英语(西班牙制造…(

请改用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即可。