如何使用FormData将输入值传递给ajax?

时间:2015-04-29 09:34:39

标签: javascript php jquery ajax

我正在尝试使用ajax和php上传图像,并且我已成功使其成功运行到某个级别,但我无法将输入的值(ID)传递给我的php文件

这是我的情景。

FORM

<form enctype="multipart/form-data" id="myform">
        <input type="file" name="images[]" multiple id="image"/>
</form>

按钮

<button type="button" id="uploadimages" name="thing_id" 
value="<?php echo $row['thing_id']; ?>" class="btn btn-primary">Save changes
</button>

AJAX

    $("#uploadimages").click(function () {
        var form = new FormData($('#myform')[0]);

        // Make the ajax call
        $.ajax({
            url: 'uploadimages.php',
            type: 'POST',
            xhr: function () {
                var myXhr = $.ajaxSettings.xhr();
                if (myXhr.upload) {
                    myXhr.upload.addEventListener('progress', progress, false);
                }
                return myXhr;
            },
            //add beforesend handler to validate or something
            //beforeSend: functionname,
            success: function (res) {
                $('#content_here_please').html(res);
                /**/
            },
            //add error handler for when a error occurs if you want!
            //error: errorfunction,
            data: form,
            cache: false,
            contentType: false,
            processData: false
        });
    });

PHP

$get_id = $_POST['']; // This is where I stuck.

如何将$row['thing_id']传递给$get_id变量?我可以使用另一个GET ajax调用成功传递它,但后来我丢失了image_id值(我使用foreach,因为我可能上传多个文件),所以我想在同一个php文件中处理它。

我没有包含我的上传脚本,因为除非我尝试使用thing_id创建内容,否则它无效。

3 个答案:

答案 0 :(得分:1)

  你的ajax代码中的

传递数据属性

<System.Runtime.InteropServices.DllImport("YourDLL.dll")> _
Public Shared Function IniciaGestion(ByVal a As IntPtr, ByRef b As String, ByRef c As String) As Long
End Function

Private Sub CallCode()
    Dim mensaerror As String = ""
    IniciaGestion(Me.Handle, "C:\Windows\DRVCOMM2.ini", mensaerror)
End Sub

然后你可以访问你的php文件中的upId,因为我已经进行了更新,所以你也可以将上传文件字段值发送到php文件。更改ID以使其与字段匹配,您可以使用

检索此字段
  

$ get_id = $ _POST ['upId'];

     

$ image = $ _POST ['images'];

答案 1 :(得分:0)

您有两个方法:

<强>一: value="<?php echo $row['thing_id']; ?>"应该是表单#myform的值/ id。

<强>两个 你可以通过&#39; thing_id&#39; Harigovind R 的方式。

希望它有所帮助!

答案 2 :(得分:0)

您有很多选项,例如添加隐藏的输入标记

name="uploadimages"和某个期望值

添加name="uploadimages"按钮可能有效,我不确定