で(特別なイメージ)データを送信する: 私の問題は、私はボタンを提出する際、Ajaxは戻って私のクライアントに空のデータ配列を送信します。コンソールのDebbugingはヘッダーのデータを表示しますが、プレビューと応答の値は空です。Joomlaのは、Joomlaのを使用したアヤックス(FORMDATA)
はここに(私は、ブートストラップからモーダルフォームを使用しています)私のコードです。私のデフォルトのスクリプトで
HTML:
<form action="<?php echo JRoute::_('index.php?option=com_addproduct&view=addproducts'); ?>" method="post" name="modalMessageForm" id="modalMessageForm" enctype="multipart/form-data">
<input type="file" id="message-image-upload" accept="image/*" style="display:none;" name="message-image-upload">
<textarea class="form-control message-textarea" id="message-textarea" placeholder="Nachricht..." name="new-message" rows="4"></textarea>
<button type="button" id="button-close-message" class="btn btn-default btn-block btn-message-close" style="display:none; margin-top:5px;"><?=JText::_('COM_ADDPRODUCT_MODAL_MESSAGES_CLOSE')?></button>
</form>
jQueryの/アヤックス:
ここ$(document).on("submit", "#modalMessageForm", function(e)
{
var form = $('#modalMessageForm').get(0);
e.preventDefault();
var formData = new FormData(form);
for(var pair of formData.entries()) {
console.log(pair[0]+ ', '+ pair[1]);
}
$.ajax({
crossDomain: true,
type: "POST",
url: "index.php?option=com_addproduct&task=sendMessages&format=json",
data: formData,
dataType: "json",
processData: false
})
.done(function(data, textStatus, jqXHR){
console.log('Message: '+data.new-message+' PicName: '+data.img);
})
});
私controller.php:
public function sendMessages()
{
JResponse::setHeader('Content-Type', 'application/json', true);
$app = JFactory::getApplication();
$input = $app->input;
$new-message = $input->getString('new-message', '', 'RAW');
$img = $_FILES['message-image-upload']["name"];
$img = JFile::makeSafe($img);
$results=array(
'new-message' => 'new-message',
'img' => $img
);
echo json_encode($results);
$app->close();
}
Iましコンソールで件のデータ/変数ログ。
次のとおりです。 新しいメッセージ:ヌル、 IMG:ヌル
はcontentTypeのを設定しようとしている:偽のは私に500エラーになります。
は、私が何かを把握、私のネットワーク enter image description here
form.append( "メッセージ画像アップロード"、$( "#メッセージ画像アップロード")[0] .files [0])。これはファイルデータを取得するためのものです – Alagesan
私は何かを考え出します。 – daskaras