tags:

views:

280

answers:

1

i have a webservice that is returning this response :

<string xmlns="http://tempuri.org/"&gt;{ "H...[ { "ID":"1","Name":"Test"} ]}</string>

when i try to get the response back, i keep getting the error : "missing ; before statement"

i am just starting to get into this so am probably doing something very wrong.

why is the response not working for me?

my dojo code looks like this

    var targetNode = document.getElementById("foo");

    var def = dojo.io.script.get({
        url: "http://localhost/WebData/PublicData.asmx/HelloWorld",
        timeout: 30000,
        handleAs: "json",
        preventCache: true,
        handle: function(error, ioargs) {
            var message = "";
            switch (ioargs.xhr.status) {
                case 200:
                    message = "Good request.";
                    break;
                case 404:
                    message = "The requested page was not found";
                    break;
                case 500:
                    message = "The server reported an error.";
                    break;
                case 407:
                    message = "You need to authenticate with a proxy.";
                    break;
                default:
                    message = "Unknown error.";
            }
            targetNode.innerHTML = message;
        }
    });

thanks! david

A: 

The get function is trying to parse the response as pure json, as the handleAs attribute is set to 'json'; but the response actually is an xml document containing some json text, causing the error you have.

Either change the response to pure json, like this:

{ "H": [ { "ID":"1","Name":"Test"} ]}

or set the handleAs attribute to 'xml' and parse the response to extract the json content; you can then unmarshall the json string using dojo.fromJson.

Massimiliano Fliri