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

Reply via email to