javascript - append() is not a function jQuery in ajax data srting - Stack Overflow

I get a "Uncaught TypeError: dataString.append is not a function" when i tried to append a fi

I get a "Uncaught TypeError: dataString.append is not a function" when i tried to append a file data to ajax data string.

So here is my code

HTML:

<input type="file" id="upload" name="upload">

Ajax:

var name = document.getElementById("name").value;
var address1 = document.getElementById("address").value;
var dataString = '&name=' + name +
                 '&address1=' + address1 ;
var fuData = document.getElementById('upload');
var FileUploadPath = fuData.value;
if (FileUploadPath == '') {
           alert("Please upload an image");                                         
 } else {
dataString.append( "upload", $("#upload")[0].files[0]);
   }
$.ajax({
           type: "post",
           url: ".../upload.php",
           data: dataString,
           cache: false,
           success: function (data) {
              var pkg = JSON.parse(data);
              if (pkg.status) {
                  var rs_items = pkg.result_data;
                  //var msg = pkg.quote;
                  // alert(pkg.result_data);
                  alert('saved');
                 //('#msg').html(msg);
              } else {
                   //alert(pkg.msg);
               }
             }
  });

If some one can suggest a better way to send specific form data with a image upload to a PHP,it would be a great help.

I get a "Uncaught TypeError: dataString.append is not a function" when i tried to append a file data to ajax data string.

So here is my code

HTML:

<input type="file" id="upload" name="upload">

Ajax:

var name = document.getElementById("name").value;
var address1 = document.getElementById("address").value;
var dataString = '&name=' + name +
                 '&address1=' + address1 ;
var fuData = document.getElementById('upload');
var FileUploadPath = fuData.value;
if (FileUploadPath == '') {
           alert("Please upload an image");                                         
 } else {
dataString.append( "upload", $("#upload")[0].files[0]);
   }
$.ajax({
           type: "post",
           url: ".../upload.php",
           data: dataString,
           cache: false,
           success: function (data) {
              var pkg = JSON.parse(data);
              if (pkg.status) {
                  var rs_items = pkg.result_data;
                  //var msg = pkg.quote;
                  // alert(pkg.result_data);
                  alert('saved');
                 //('#msg').html(msg);
              } else {
                   //alert(pkg.msg);
               }
             }
  });

If some one can suggest a better way to send specific form data with a image upload to a PHP,it would be a great help.

Share Improve this question edited Mar 29, 2016 at 11:41 Muhammad Arif 1,0223 gold badges23 silver badges59 bronze badges asked Mar 29, 2016 at 11:38 menakamenaka 1,0681 gold badge14 silver badges35 bronze badges 1
  • are you trying ajax file upload? – Syed mohamed aladeen Commented Mar 29, 2016 at 11:39
Add a ment  | 

1 Answer 1

Reset to default 4

You can use FormData for this purpose :

var formData = new FormData();
formData.append('upload', $("#upload")[0].files[0]); 

$.ajax({
    type: "post",
    url: '.../upload.php',
    data: formData,
    contentType: false,
    processData: false,
})

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745571045a4633684.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信