guildsbounty
guildsbounty

Reputation: 3361

YUI AJAX and .Net MVC

I'm having a bit of an issue with a mix between YUI's AJAX and a YUI Datatable. The AJAX request fires properly and I get back the correct data formatted as:

{NoteId:'" + result.NoteId + "', CreatedOn:'" + result.CreatedOn.ToShortDateString() + 
                    "', UpdatedOn:'" + result.UpdatedOn.ToShortDateString() + "', CreatedBy:'" + result.CreatedBy + 
                    "', NoteContent:'" + result.NoteContent + "'}

These match the table identities properly, and I ripped this formatting from the statement that initially creates the datatable (which works properly). I don't know if I have the 'onSuccess' messed up for my AJAX call or what, and this is my first time touching YUI.

Also, if I manually execute the noteTable.addRow and hard code the data, it works.

Code for the AJAX call and Table Update:

function addNote() {
            var noteText = editor.get('element').value;
            var id = '<%= Model.Menu.Level1Tab %>'
            var lpqId = <%= Model.LpqID %>
            var sUrl = "/Lpm/Notes";
            var callback = {
                    success: function(o) {
                            noteTable.addRow(o.responseText);
                        },
                    failure: function(o) {
                        }
                    }

            var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, 'id=' + id + '&noteContent=' + noteText + '&noteId=' + noteId + '&lpqId=' + lpqId);
        }

I'm pretty well stuck on this, so if anyone could have a look and let me know where I messed something up, I'd appreciate it. If you need more info, I have plenty, including firebug debugging info. Thanks in advance for the help

Upvotes: 2

Views: 359

Answers (1)

Jenny Donnelly
Jenny Donnelly

Reputation: 412

Looks like you need to convert the o.responseText from string to object. The JSON Utility can help you do that: http://developer.yahoo.com/yui/json/.

Incidentally, DataTable's DataSource integration can help manage these issues for you. This example (http://developer.yahoo.com/yui/examples/datatable/dt_xhrjson.html) shows you how to set up a DataSource and integrate it with a DataTable. Note how you can send a request to get some data from your server and then use one of the "onDataReturn..." methods (see "Loading data at runtime" under http://developer.yahoo.com/yui/datatable/#data) in your callback.

Upvotes: 1

Related Questions