2017-07-09 7 views
0

私は様々な入力と1つの画像をアップロードするためのファイル入力フォームを持っています。私は、データを投稿するためにajaxを使用しています。私が提出したとき、私はphp ajaxファイルアップロードの問題

未定義のインデックスと言いコンソールエラーを取得:それはより安全に行う前に

ファイルを、私はちょうどそれが実際にファイルをアップロードするために取得しようとしています。

$target_dir = "../img/"; 
$target_file = $target_dir . basename($_FILES["file"]["name"]); 


if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_dir.$_FILES['file']['name'])) { 
    $status = 1; 
} 

jQueryの

$('form').submit(function(e){ 
    e.preventDefault(); 
    var form = $("#form1").serialize(); 
    $(".alert").hide(); 
    $.ajax({ 
     url: 'functions/add-news-ajax.php', 
     type: 'POST', 
     dataType: 'json', 
     data: form, 

     beforeSend: function() { 
      $("#btn-add").hide(); 
      $("#loader").show(); 
     }, 
    }) 

    .done(function (data) { 
     if(!data.success) { 
     // validation messages etc.. 
+0

'file'という名前のファイルフィールドがありますか? – RamRaider

+0

はい。 '

\t \t \t \t \t \t \t \t \t \t \t \t
' – Jonathan

+0

質問のある「

」コードを追加してください。 –

答えて

0

私はあなたがこのお試しシリアル化を通じて

var form = $("#form1").serialize(); 

をあなたの画像を送信することはできません怖い:

$('form').submit(function(e){ 
    e.preventDefault(); 
    //var form = $("#form1").serialize(); 
    var form = new FormData($(this)); 
    (...) 

$をこれはあなたのフォーム要素です。

+0

"file"は未定義です – Jonathan

関連する問題