שליחת FORM דרך הXMLHttpRequest

  • פותח הנושא Tbear
  • פורסם בתאריך

Tbear

New member
שליחת FORM דרך הXMLHttpRequest

אני רוצה להעלות קבצים בBACKGROUND בעזרת AJAX.. הבעיה היא שעד היום שלחתי מידע מאובייקט הXMLHttpRequest לקבצי הASP דרך שורת הURL, אבל הפעם אני רוצה לשלוח את המידע של הFORM של העלאת הקבצים בשיטת POST, איך עושים את זה? איך גורמים למידע להישלח בשיטת POST אל הקובץ ASP?
 

Tbear

New member
../images/Emo53.gif בעצם לא הסתדרתי....-אוף ../images/Emo4.gif...

הFORM נשלח מעולה דרך הXMLHttpRequest , וכל הפרטים ממנו מגיעים לקובץ ASP, בדקתי את זה בFORM הבעייתי יש INPUT של העלאת קובץ... הנתיב של הקובץ שאמור לעלות מגיעים לקובץ הASP. אבל אוביקט הUPLOAD טוען שלא בוצעה שליחה של נתונים, אולי אני צריך להוסיף משהו בHEADER? זו הודעת השגיאה:
Error Type: Persits.Upload.1 (0x800A003D) Wrong Content-Type. Make sure you have included the attribute ENCTYPE="multipart/form-data" in your form​
ראיתי בניתן להוסיף את האופציה Upload.IgnoreNoPost = True כדי שהבעיה תעלם, אבל זה למיקרים שבהם הדף שולח את המידע אל עצמו, ובכל מקרה כשאני מוסיף את זה התוכנית רצה אבל כלום לא קורה ולא מתבצע UPLOAD.. והנה שורות הקוד הרלוונטיות: צד לקוח
<form name="newPic" action="gallery.asp" ENCTYPE="multipart/form-data"> <INPUT type="file" name="picPath" dir="ltr" size="10" ENCTYPE="multipart/form-data"> סקוד| קוד AJAX
content="picPath=" + picPath+"&picDescription="+picDescription+"&picCatID="+picCatID xhr.open("POST", url, true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send(content);​
והנה צד שרת
Set Upload = Server.CreateObject("Persits.Upload.1") Upload.OverwriteFiles=True Upload.SetMaxSize cnstMaxFileSize,true 'Upload.IgnoreNoPost = True test=Upload.Save(saveDir) Response.Write Upload.Files(1).Path Set Upload=Nothing​
כפי שציינתי אם אני מפעיל את השורה Upload.IgnoreNoPost = True ההודעת שגיאה נעלמת אבל בעצם מבחינתו כלום לא קורה, והוא לא מבצע UPLOAD.... תודה רבה​
 

Xעמרי

New member
תוותר, לא ניתן לבצע העלאת קובץ באמצעות שימוש

ב xmlhttp
 
למעלה