簡體   English   中英

使用Jquery ajax無需表單上傳文件

[英]File upload using Jquery ajax without form

這是我的代碼

function addPackage(elem)
{

    var dataimg = new FormData();
    dataimg.append('', $("#browseimg"+elem).prop('files')[0]);
    var startdate=$("#from_date"+elem).val();
    var enddate=$("#to_date"+elem).val();
     $.ajax({
      url: "addpackage/",
      type:"post",
      contentType:false,
      data:{startdate:startdate,enddate:enddate,packageid:elem,img:dataimg},
      success: function(data) {
      }
    });
}

我嘗試了post方法ajax來上傳圖像並輸入沒有形式的字段數據。 在ajax中調用它顯示[object object] 如何使用輸入字段發布圖像,而不是在jquery ajax中。

你可以像下面這樣做。 希望這會幫助你。

function addPackage(elem)
{
    var dataimg = new FormData();
    dataimg.append('startdate', $("#from_date"+elem).val());
    dataimg.append('enddate', $("#to_date"+elem).val());
    dataimg.append('packageid', elem);
    dataimg.append('img', $("#browseimg"+elem)[0].files[0]);

    $.ajax({
        url: "addpackage/",
        type:"post",
        cache : false,
        contentType : false,
        processType : false,
        data: dataimg,
        success: function(data) {
        }
    });
}

你可以試試這個:

你的JS代碼:

<script type="text/javascript">
var data = new FormData(document.getElementById("yourFormID")); //your form ID
var url = $("#yourFormID").attr("action"); // action that you mention in form action.
$.ajax({
    type: "POST",
    url: url,
    data:  data,
    enctype: 'multipart/form-data',
    processData: false,  // tell jQuery not to process the data
    contentType: false,   // tell jQuery not to set contentType
    dataType: "json",
    success: function(response)
    {
        // some code after succes from php
    },
    beforeSend: function()
    {
        // some code before request send if required like LOADING....
    }
});
</script>

虛擬HTML:

<form method="post" action="addpackage/" id="yourFormID">
    <input type="text" name="firstvalue" value="some value">
    <input type="text" name="secondvalue" value="some value">
    <input type="file" name="imagevalue">
</form>

在addpackage php文件中:

print_r($_POST);
print_r($_FILES);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM