【问题标题】:YUI AJAX and .Net MVCYUI AJAX 和 .Net MVC
【发布时间】:2010-12-13 21:41:45
【问题描述】:

我对 YUI 的 AJAX 和 YUI 数据表之间的混合有点问题。 AJAX 请求正确触发,我得到正确的数据格式为:

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

这些与表标识正确匹配,我从最初创建数据表的语句中删除了这种格式(它可以正常工作)。我不知道我的 AJAX 调用是否搞砸了“onSuccess”,这是我第一次接触 YUI。

另外,如果我手动执行 noteTable.addRow 并对数据进行硬编码,它就可以工作。

AJAX 调用和表更新的代码:

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);
        }

我很好地坚持这一点,所以如果有人可以看看并让我知道我在哪里搞砸了,我将不胜感激。如果您需要更多信息,我有很多,包括萤火虫调试信息。 提前感谢您的帮助

【问题讨论】:

    标签: c# javascript ajax yui


    【解决方案1】:

    看起来您需要将 o.responseText 从字符串转换为对象。 JSON 实用程序可以帮助您做到这一点:http://developer.yahoo.com/yui/json/

    顺便提一下,DataTable 的 DataSource 集成可以帮助您管理这些问题。此示例 (http://developer.yahoo.com/yui/examples/datatable/dt_xhrjson.html) 向您展示了如何设置 DataSource 并将其与 DataTable 集成。请注意如何发送请求以从服务器获取一些数据,然后在回调中使用“onDataReturn...”方法之一(请参阅http://developer.yahoo.com/yui/datatable/#data 下的“在运行时加载数据”)。

    【讨论】:

      猜你喜欢
      • 2011-04-20
      • 2013-04-17
      • 2010-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多