烦躁不安,谢谢您一直以来一直为我提供的所有帮助。我对编码真的很陌生,但是我或多或少地了解了这一点,并从0(www.mundopedales.com)创建了一个网站

但是今天,我真的陷入了一种形式,我希望它执行两个操作,即向MySQL db发送数据并上传具有自定义名称的图像文件。我可以同时运行这两个程序,但不能同时运行(如果一个程序可以运行,而另一个不能)。

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

<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

09-15 19:19