我有一個表單,當用戶提交此表單時,它應該將數據傳遞給使用AJAX的函數。然後,在對話框中將該結果顯示給用戶。我正在使用CakePHP(1.3)和jQuery來嘗試完成這一任務,但我感覺我正在奔跑。使用AJAX,jQuery和CakePHP在對話框中顯示消息
的形式最終將被用於與標籤上傳圖片,但現在我只是想看到一個消息框彈出..
形式:
<?php
echo $this->Form->create('Image', array('type' => 'file', 'controller' => 'images',
'action' => 'upload', 'method' => 'post'));
echo $this->Form->input('Wallpaper', array('type' => 'file'));
echo $this->Form->input('Tags');
echo $this->Form->end('Upload!');
?>
的AJAX:
$(document).ready(function() {
$("#ImageUploadForm").submit(function() {
$.ajax({
type: "POST", url: "/images/upload/",
data: $(this).serialize(),
async: false,
success: function(html){
$("#dialog-modal").dialog({
$("#dialog-modal").append("<p>"+html+"</p>");
height: 140,
modal: true,
buttons: {
Ok: function() {
$(this).dialog('close');
}
}
})
}
});
return false;
});
});
注意:如果我把$.ajax
的,但$("#ImageUploadForm").submit(function() {
內$("#dialog-modal").dialog({ height: 140, modal: true });
外註釋掉$.ajax
東西,我會看到一個對話框彈出,然後我必須點擊它才能消失。在此之後,它不會給位置向前/images/upload/
是AJAX調用的方法:
public function upload()
{
$this->autoRender = false;
if ($this->RequestHandler->isAjax())
{
echo 'Hi!';
exit();
}
}
$這個 - > RequestHandler-> isAjax()似乎做任何絕對沒有,或者它總是返回假。我從來沒有以此作爲條件輸入if語句。
感謝您的幫助,如果您需要更多信息,請告訴我。
非常感謝,這工作完美。我對AJAX/jQuery有點新鮮,所以我認爲它可能很簡單。 – LainIwakura