1

ASMX:

    public class ItemRecord
    {
        public string model { get;set; }
        public string verzia { get;set; }
        public string typ { get;set; }
        public string motor { get;set; }
    }

    [WebMethod]
    public ItemRecord GetRecord(int id)
    {
        ItemRecord record = new ItemRecord();

        using (SqlConnection sConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["bazarovkyConnectionString"].ToString()))
        {
            sConnection.Open();


            SqlCommand sCommand = sConnection.CreateCommand();
            sCommand.CommandText = "select id_model, motor from data_motorizacia where id=@id";
            sCommand.Parameters.AddWithValue("@id", id);

            SqlDataReader sReader = sCommand.ExecuteReader();
            if (sReader.Read())
            {
                record.model = sReader["id_model"].ToString();
                record.motor = sReader["motor"].ToString();
            }
        }

        return record;

    }

JQUERY:

id = $("#view_id", row).text();

$.ajax({
    type: "POST",
    url: "/data.asmx/GetRecord",
    data: "{'id':'" + id + "'}",
    contentType: "application/json; charset=utf-8",
    dataType: "xml",
    processData: false,
    error: function (XMLHttpRequest, textStatus, errorThrown) { ajaxError(XMLHttpRequest, textStatus, errorThrown); },
    success: function (xml) { ajaxFinish(xml); }
});

function ajaxFinish(xml) {
    // parse the object
    alert($(xml).find("motor").text());

}

What I want to do is to read value of motor and id_model in ajaxFinish. But it either returns object (if I refer to XML only) or unspecified or empty.

How do I track/debug what was returned from .ASMX file?

2 Answers 2

2

i have not copy pasted your code, so its bit different but you'll get the idea...

  var arr= new Array();
  var loopCounter = 0;

$.ajax({
            type: "POST",
            url: "yourURL",
            dataType: "xml",
            success: function(xml) {
                $(xml).find('xmlNode').each(function() {
                    arr[loopCounter] = $(this).find('xmlNode').text();
                    loopCounter += 1;
                });

here arr is the array in which the values are read and loopCounter is used to store the data in the array arr, xmlNode is the name of the node in your xml (which you get in response) wwhose value you want to get

Sign up to request clarification or add additional context in comments.

2 Comments

"xmlNode" is a special tag ? or do i put my node name there ?
you put your node name there :)
1

You can try to use JSON instead of xml

2 Comments

But I want to return values and not to generate whole HTML code within .ASMX file.
you not need to generate whole HTML code within asmx. Just return json instead of xml from webservice.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.