使用jquery和ajax将所选文件发送到其他页面

时间:2016-10-30 05:43:43

标签: php jquery

我有2个文本框和2个单选按钮。

我可以将它们的值发送到页面insert.php

我添加了一个文件输入。但我无法将其选定的文件发送到页面insert.php

我该怎么做?

我的文件输入标记的id是文件图像。

**********************************************页面的index.php

- name: check service
  stat: path=/etc/init.d/httpd
  register: result

**********************************************页面insert.php

$("#btn-save").click(function(){
    $.post("insert.php",
        {
            title_fa: $("#txt-title-fa").val().trim(),
            title_en: $("#txt-title-en").val().trim(),
            title_visible: $('input[name=radio-visible]:checked').val(),
            title_language: $('input[name=radio-language]:checked').val()
        },
            function(data,status){
                if(status === "success")
                    {
                        alert("success");
                    }                                                
            });
});

1 个答案:

答案 0 :(得分:0)

我可能会使用下面的代码,这是一种发送表单数据和文件的方法:

$("#btn-save").click(function(){
        var fd = new FormData();
        var file_data = $('input[name^="your_file_input_name"]')[0].files; 
        for(var i = 0;i<file_data.length;i++){
            fd.append("file_"+i, file_data[i]);
        }
        var  other_data = $("#your_form_id_here").serializeArray();
         $.each(other_data,function(key,input){
            fd.append(input.name,input.value);
        });

        $.ajax({
        url : 'insert.php',
        type : "post",
        data : fd,
        cache: false,
        contentType: false,
        processData: false,
        success : function(data){
                console.log(data); //server response

        }
    });
    });

在服务器端,您将收到您的文件      $ _ FILES [&#39; file_0&#39;] 以及 $ _ POST数组

中的其他数据

希望它有所帮助!