Thanks Mike, That helps a lot. I have modified the code back to a more 'default' setting and have found that all I needed to do was encode the xml string (using the escape() method) and then, of course decode the string on the server. If I don't encode/escape the xml, I get an ajax call error.
$.ajax({ type : "POST", url : "AjaxHandlerPage.aspx", data : { method : "Save", data : escape(xmlString) }, dataType : "json", cache : false, success : function(data) { // Process return status data here } }); Neil. On May 9, 6:35 pm, "Mike Alsup" <[EMAIL PROTECTED]> wrote: > > What seems odd is that jQuery throws an error before initiating the > > ajax call if I set the property 'processData: false' in the > > initialisation. > > I think you've misunderstood the use of the processData option. That > option lets the ajax function know whether it should convert the data > arg to an encoded string or if that has already be done by the caller. > You need your data to be processed because it is not in a format that > can be sent to the server. It is a JavaScript object (which happens > to contain some XML). In addition, the contentType setting is also > wrong. Your content is not XML, is just happens to contain some. You > should be using the default x-www-form-urlencoded content type. So > your post data would ultimately look something like: > > method=Save&data=%3Cmenu%3E%3CmenuItem+name%3D'Item+1'+%2F%3E%3CmenuItem+name%3D'Item+2'+%2F%3E%3C%2Fmenu%3E > > Mike