2012-03-17 16 views
0

這是關於在非text/string數據上使用Ajax的常見問題。提交前從表單圖像數據中使用Ajax

是否有可能在窗體中使用選定圖像執行JQuery Ajax POST請求?這是提交之前預覽處理的圖像,從表單輸入採取。該圖像被髮布到做一些圖像處理的服務器上,並將返回img html。

例如:

var img = $('#form').find('input:first, select:first').first(); // the image/file input 
$.ajax({ 

type: "POST", 
url: "photoprocess.php", 
data: "{prephoto: '" + img+ "'}", // ?? 
contentType: "application/jpeg; charset=utf-8", 
dataType: "text", 
success: function (response) { 
var imgHtml = response.d; 
$('#preview').empty(); 

$('#preview').append(""+imgHtml); 
}, 
...... 

如果需要的插件,我應該去爲哪一個?或更好的措辭:有沒有一個插件,你有這個解決方案的良好經驗?

乾杯。

+1

看看http://stackoverflow.com/questions/166221/how-can-i-upload-files-asynchronously-with-jquery它有一些解決方案,用jQuery上傳文件 – mguymon 2012-03-17 01:11:26

+0

看起來像我必須使用插件。 – gorn 2012-03-17 01:21:07

回答

0

有沒有這樣做的標準方法,因此不是很好的做法,使用一些隨機插件或可疑的解決方法。最終在服務器端解決它主要是要求用戶首先提交精選照片,以便進行主題預覽(服務器已經擁有原始圖像的副本)和訂購。

-1

TMHO如果您在網站上顯示圖像(甚至是預覽),圖像必須是服務器端,即使您想模擬預覽方面,您也必須上傳它(但您可以在一個異步的方式只是看AJAX上傳解決方案)。

編輯:請看下面的Steven評論。現在這是可行的。

+0

是的,當我說ajax POST;應該清楚我的意思是將其上傳到我已啓動並運行的服務器。只需要Jquery的詳細信息就可以做到這一點。如果需要插件,這是最好的或最好的。 – gorn 2012-03-17 01:36:24

+0

對不起,當你談到「提交之前預覽」時,我誤會了。做這件事相當糟糕,我想在幾個星期前快速實現這樣的功能,我終於回到基本上傳。 – AsTeR 2012-03-17 01:38:36

+0

我正在使用另一個按鈕(除了表單提交)來執行ajax操作,這是我的意思是「預覽之前提交」。你嘗試了uploadify或plupload? – gorn 2012-03-17 01:51:41