McBilly, my serverside code wouldn't help you its bloated with other stuff, but basically:
if you set the datatype to json, you must echo your data like this echo '{ "myVar" : "this is my value"}'; if you set it to xml, then it would be something like: echo '<myVar>this is my value</myVar>'; if you set it to html then it could simply be echo '<p>this is my value!</p>'; does this help ? Alexandre Plennevaux LAb[au] http://www.lab-au.com On Mon, Sep 1, 2008 at 3:22 AM, McBilly Wilford Sy <[EMAIL PROTECTED] > wrote: > Hi Alex. > > Could you also give me the codes you used for the ajaxfileupload.php and > doajaxfileupload.php? > > I tried your updated code but it still cannot understand the data file > type. I tried upload both and image (jpeg) and word doc. > > Thanks a lot! > > Best, > McBilly > > > On Sun, Aug 31, 2008 at 8:55 PM, Alexandre Plennevaux < > [EMAIL PROTECTED]> wrote: > >> as a matter of fact, i just used that plugin and i had to do a lot of >> fixing in order for it to work on jquery 1.2.6 >> >> here is the updated code: >> >> >> jQuery.extend({ >> >> >> createUploadIframe: function(id, uri){ >> //create frame >> var frameId = 'jUploadFrame' + id; >> >> >> if (window.ActiveXObject) { >> var io = document.createElement('<iframe id="' + frameId + '" >> name="' + frameId + '" />'); >> if (typeof uri == 'boolean') { >> io.src = 'javascript:false'; >> } >> else >> if (typeof uri == 'string') { >> io.src = uri; >> } >> } >> else { >> var io = document.createElement('iframe'); >> io.id = frameId; >> io.name = frameId; >> } >> io.style.position = 'absolute'; >> io.style.top = '-1000px'; >> io.style.left = '-1000px'; >> >> //document.body.appendChild(io); >> >> //var myframe_src = (typeof uri == 'boolean') ? 'javascript:false' >> : uri; >> // var myframe = '<iframe >> style="position:absolute;top:-1000px;left:-1000px" id="' + frameId + '" >> name="' + frameId + '" src="' + myframe_src + '"></iframe>'; >> $('body').append(io); >> return io; >> >> }, >> createUploadForm: function(id, fileElementId){ >> //create form >> var formId = 'jUploadForm' + id; >> var fileId = 'jUploadFile' + id; >> var form = $('<form action="" method="POST" name="' + formId + '" >> id="' + formId + '" enctype="multipart/form-data"></form>'); >> var oldElement = $('#' + fileElementId); >> var newElement = $(oldElement).clone(); >> $(oldElement).attr('id', fileId); >> $(oldElement).before(newElement); >> $(oldElement).appendTo(form); >> //set attributes >> $(form).css('position', 'absolute'); >> $(form).css('top', '-1200px'); >> $(form).css('left', '-1200px'); >> $(form).appendTo('body'); >> return form; >> }, >> >> ajaxFileUpload: function(s){ >> // TODO introduce global settings, allowing the client to modify >> them for all requests, not only timeout >> s = jQuery.extend({}, jQuery.ajaxSettings, s); >> var id = new Date().getTime(); >> var form = jQuery.createUploadForm(id, s.fileElementId); >> var io = jQuery.createUploadIframe(id, s.secureuri); >> var frameId = 'jUploadFrame' + id; >> var formId = 'jUploadForm' + id; >> // Watch for a new set of requests >> if (s.global && !jQuery.active++) { >> jQuery.event.trigger("ajaxStart"); >> } >> var requestDone = false; >> // Create the request object >> var xml = {}; >> if (s.global) >> jQuery.event.trigger("ajaxSend", [xml, s]); >> // Wait for a response to come back >> var uploadCallback = function(isTimeout){ >> var io = document.getElementById(frameId); >> try { >> if (io.contentWindow) { >> xml.responseText = io.contentWindow.document.body ? >> io.contentWindow.document.body.innerHTML : null; >> xml.responseXML = >> io.contentWindow.document.XMLDocument ? >> io.contentWindow.document.XMLDocument : io.contentWindow.document; >> >> } >> else >> if (io.contentDocument) { >> xml.responseText = >> io.contentDocument.document.body ? >> io.contentDocument.document.body.innerHTML : null; >> xml.responseXML = >> io.contentDocument.document.XMLDocument ? >> io.contentDocument.document.XMLDocument : io.contentDocument.document; >> } >> } >> catch (e) { >> jQuery.handleError(s, xml, null, e); >> } >> if (xml || isTimeout == "timeout") { >> requestDone = true; >> var status; >> try { >> status = isTimeout != "timeout" ? "success" : "error"; >> // Make sure that the request was successful or >> notmodified >> if (status != "error") { >> // process the data (runs the xml through httpData >> regardless of callback) >> var data = jQuery.uploadHttpData(xml, s.dataType); >> // If a local callback was specified, fire it and >> pass it the data >> if (s.success) >> s.success(data, status); >> >> // Fire the global callback >> if (s.global) >> jQuery.event.trigger("ajaxSuccess", [xml, s]); >> } >> else >> jQuery.handleError(s, xml, status); >> } >> catch (e) { >> status = "error"; >> jQuery.handleError(s, xml, status, e); >> } >> >> // The request was completed >> if (s.global) >> jQuery.event.trigger("ajaxComplete", [xml, s]); >> >> // Handle the global AJAX counter >> if (s.global && !--jQuery.active) >> jQuery.event.trigger("ajaxStop"); >> >> // Process result >> if (s.complete) >> s.complete(xml, status); >> >> jQuery(io).unbind(); >> >> setTimeout(function(){ >> try { >> $(io).remove(); >> $(form).remove(); >> >> } >> catch (e) { >> jQuery.handleError(s, xml, null, e); >> } >> >> }, 100); >> >> xml = null; >> >> } >> } >> // Timeout checker >> if (s.timeout > 0) { >> setTimeout(function(){ >> // Check to see if the request is still happening >> if (!requestDone) >> uploadCallback("timeout"); >> }, s.timeout); >> } >> try { >> // var io = $('#' + frameId); >> var form = $('#' + formId); >> $(form).attr('action', s.url); >> $(form).attr('method', 'POST'); >> $(form).attr('target', frameId); >> if (form.encoding) { >> form.encoding = 'multipart/form-data'; >> } >> else { >> form.enctype = 'multipart/form-data'; >> } >> $(form).submit(); >> >> } >> catch (e) { >> jQuery.handleError(s, xml, null, e); >> } >> if (window.attachEvent) { >> document.getElementById(frameId).attachEvent('onload', >> uploadCallback); >> } >> else { >> document.getElementById(frameId).addEventListener('load', >> uploadCallback, false); >> } >> return { >> abort: function(){ >> } >> }; >> >> }, >> >> uploadHttpData: function(r, type){ >> var data = !type; >> data = (type == "xml" || data) ? r.responseXML : r.responseText; >> // If the type is "script", eval it in global context >> if (type == "script") { >> jQuery.globalEval(data); >> } >> // Get the JavaScript object, if JSON is used. >> if (type == "json") { >> eval("data = " + data); >> } >> // evaluate scripts within html >> if (type == "html") { >> // jQuery("<div>").html(data).evalScripts(); >> //jQuery("<div>").html(data); >> } >> >> //alert($('param', >> data).each(function(){alert($(this).attr('value'));})); >> return data; >> } >> }); >> >> >> >> Alexandre Plennevaux >> LAb[au] >> >> http://www.lab-au.com >> >> >> On Sun, Aug 31, 2008 at 3:07 AM, McBilly Wilford Sy < >> [EMAIL PROTECTED]> wrote: >> >>> Hi Alex. >>> >>> Thanks for the help. I'm not sure what I'm doing wrong since the upload >>> code works fine if I don't use jquery. I can upload the file and store it as >>> a BLOB in the database. But this only works if I use the form and POST >>> method and letting the whole page load. >>> >>> Anyway, thanks again. If I don't really find a fix, I might just settle >>> with letting the whole page load. Thanks :) >>> >>> Best, >>> McBilly >>> >>> >>> On Sat, Aug 30, 2008 at 10:36 PM, Alexandre Plennevaux < >>> [EMAIL PROTECTED]> wrote: >>> >>>> i would think your issue is on the serverside, or your test file itself. >>>> the plugin's datatype setting tells about which type will the return >>>> message >>>> be (xml/html or json) >>>> >>>> >>>> Alexandre Plennevaux >>>> LAb[au] >>>> >>>> http://www.lab-au.com >>>> >>>> >>>> >>>> On Sat, Aug 30, 2008 at 12:10 PM, McBilly Wilford Sy < >>>> [EMAIL PROTECTED]> wrote: >>>> >>>>> Greetings! >>>>> >>>>> I am trying to use the Ajax File Upload here: >>>>> http://www.phpletter.com/Our-Projects/AjaxFileUpload/ >>>>> >>>>> Anyway, I think it's already good enough but whenever I try uploading a >>>>> file, it doesn't recognize the filetype. Kind of like a corrupt file. >>>>> >>>>> Base on the jQuery docs, the DATA TYPES I could find were "html", >>>>> "json", "xml". >>>>> >>>>> What data type do I need to specify if I'm transfering a whole file and >>>>> storing it in a BLOB in MySql? >>>>> >>>>> Thanks a lot. Hope you guys know about this. >>>>> >>>> >>>> >>> >> >