0
我有以下Ajax方法,我使用它將請求的數據(發送郵件)發送到服務器端。我還必須將2個附加文件發送到服務器端。任何人都可以幫助我如何做到這一點?我需要在這個文件中進行上傳,我沒有任何其他服務器端的PHP腳本,只是在這個文件中的一些功能來處理數據。這種環境只有在wordpress中才有,不僅是平面ajax。另一個話題不回答這個問題。如何在Worldpress環境中使用Ajax將附件發送到服務器端
的代碼片段:
jQuery('#carrieremailsend').click(function(){
var career_id = jQuery('#carrierid').val();
var careertittle = jQuery('#carriertittle').val();
var name = jQuery('#name').val();
var email = jQuery('#mail').val();
var message = jQuery('#message').val();
var data = {
action: 'send_carrier_email',
career: career_id,
name: name,
email: email,
message: message
}
誰能幫助我該怎麼辦呢? 謝謝!
我一直在尋找的answhere如下:
var fd = new FormData();
var cv = jQuery(document).find('#cv');
var lm = jQuery(document).find('#lm');
var individual_file = cv[0].files[0];
var lm_file = lm[0].files[0];
fd.append("career",career_id);
fd.append("name",name);
fd.append("email",email);
fd.append("message",message);
fd.append("cv", individual_file);
fd.append("lm", lm_file);
fd.append('action', 'fiu_upload_file');
此代碼還postr其他數據的服務器端。如果你想存儲在服務器上,這些附加的文件,你還必須實現在服務器端的followinf PHP代碼(這是絲毫2個獨立的文件):
move_uploaded_file($_FILES["cv"]["tmp_name"],WP_CONTENT_DIR .'/uploads/CV/'.basename($_FILES['cv']['name']));
move_uploaded_file($_FILES["lm"]["tmp_name"],WP_CONTENT_DIR .'/uploads/lm/'.basename($_FILES['lm']['name']));
以防止請求錯誤和misfunction最好的辦法是使用** ** FORMDATA JavaScript對象來獲取整個窗體(INS tead你的__data__對象) –
如果我使用formData而不是數據對象,那麼服務器端將以與使用數據對象相同的方式獲取數據。如果是的話我怎麼能從我的對象轉換成formData一個? – Stonesmit
是否可以在同一個Ajax方法中擁有一個表單和一個dataForm? – Stonesmit