2011-03-09 10 views
0

ファイルをサーバーに送信しようとしていますが、成功しません。 私はこれがあります。プロトタイプにAjaxを含むファイルを送信

HTML(それはフォーム内ではありません):

<td class="td_logo">

<input type="file" accept="image/*" multiple="false" name="realField" id="realField">

</td>

を、私はJSコードをトリガーボタンがあります。

JS

function sendRequest(url, firmObj){ 
    new Ajax.Request(url, 
    { 
     method: 'post', 
     postBody: 'firmObj='+ Object.toJSON(firmObj), 
     onSuccess: function(){} 
    }); 
} 

とURL PHPを呼び出します。

PHP

if(isset($_POST["firmObj"])) 
{ 
    $firmObj = json_decode($_POST["firmObj"]); 
    var_dump($firmObj); 
}else{ echo "FAIL"; } 

if($_FILES['realField']['name']) 
{ 
    print_r($_FILES['realField']['name']); 
}else{ echo "FAIL";} 

var_dump($firmObj)はちょうど私にファイル名と私のテーブル内の他の入力を示して...しかし$_FILES['realField']['name']は常にfalseと叫びであるうち "FAIL" !!

$ _FILESの入力データをプロトタイプに入れるにはどうすればよいですか?

ありがとうございました!

答えて

1

Javascriptはローカルファイルを読み取ることができません(セキュリティ上の悪夢です)ので、AJAXは実際にアップロードをサポートしていません。 this oneのようなスクリプトは、非表示のiframeにフォームを作成して送信することで動作します。

関連する問題