我有一個HTML表單用於上傳文件到服務器。爲了簡便起見,我只顯示必要的peicesjQuery .submit()上傳表單顯示返回Slim PHP的響應
<form id='uploadform' method='post' enctype='multipart/form-data' action='index.php/upload'>
<input name='myFile' id='myFile' type='file'/>
</form>
<input type='button' id='upload' value='Upload'/>
<div id='response'></div>
我用jQuery.submit()來提交表單:
$('#uploadform').submit();
業務邏輯苗條PHP: $ APP->後(」/upload','uploadFile'); ....
function uploadFile(){
try{
// if success uploading
$app->redirect('/main-page');
}catch(Exception $e){
// if error
echo $e->getMessage();
}
}
問題:如果上傳由於某種原因失敗時,會拋出異常,用戶被引導到一個PHP錯誤頁面。如果上傳完成無異常,應用程序將重定向到主頁面。
所需要的是:如果上傳成功的應用程序應該被重定向到因爲它現在......但是,如果有任何異常拋出而不是到PHP錯誤頁面,主頁面,應用程序應該留在上傳頁面上,id ='response'應該顯示異常。
是否有可能做這樣的事與jQuery提交():
$('#uploadform').submit(function(response){
$('response').html(response);
});
????
我知道的JQuery上傳文件的插件將使生活更輕鬆...但是,這是不是一種選擇,對我來說...
感謝您的指點!
是否有可能
爲什麼你不能使用其他人的插件,而是必須寫自己的?另外,你讀過這個嗎? http://stackoverflow.com/questions/166221/how-can-i-upload-files-asynchronously-with-jquery – Nal 2012-09-01 23:23:12
你知道什麼時候發生異常嗎?如果你知道你可以使用'throw()'來強制你的'catch'模塊執行代碼。我從來沒有與'苗條'工作,所以看看這個技巧是否可以幫助你。忽略,如果我錯了! – Deepak 2012-09-04 05:24:58
它是否是一個異常,是不是PHP的錯誤?如果是這樣,catch塊將不會被觸發,您將不會收到異常消息。 – 2012-09-04 11:29:26