Web服务返回JSON但不呈现

时间:2017-06-13 17:49:35

标签: javascript c# json sharepoint-2010

我有一个SharePoint网络服务,可以从服务器场中检索文档。该调用是成功的200,当我打开它时,我可以验证JSON正常。

然而,它不在页面上呈现。而是扔一个:

SyntaxError: missing ; before statement[Learn More] getTopics:1:8

getTopics是Visual Studio wsp项目的一部分,它编译,部署和成功检索数据。这里有什么我想念的吗?

代码

        var title = 'List';
        var gridHeight = 400;
        var uniqueId = 'topics';
        var url = '/_vti_bin/MetaDataDoc/MetaDoc.svc/getTopics/?folder=/general_documents/';
        var dSort = 'modified';
        var dSortOrder = 'DESC';

        buildGrid(uniqueId,title,gridHeight,url,dSort,dSortOrder)

function buildGrid(divId, title, gridHeight, url, dSort, dSortOrder) {
    Ext.define('gridModel', {
        extend: 'Ext.data.Model',
        fields: [
            { name: "name", mapping: "name", sortable: true, convert: Ext.util.Format.trim },
            { name: "upcase_name", mapping: "name", convert: Ext.util.Format.uppercase },
            { name: "upcase_desc", mapping: "para", convert: Ext.util.Format.uppercase },
            { name: "url", mapping: "url", sortable: true},
            { name: "modified", mapping: "date", sortable: true, type: "date", dateFormat: "n/j/Y g:i A" },
            { name: "type", mapping: "type", sortable: true },
            { name: "size", mapping: "size", sortable: true, type: 'int'},
            { name: "desc", mapping: "para" },
            { name: "doclist", mapping: "doclist", convert: nestedData },
            { name: "title", mapping: "title" }
        ]
    });
    function toggleDetails(btn, pressed) {
        grid[divId].columns[1].renderer = pressed ? renderNameDetails : renderName;
        grid[divId].columns[0].renderer = pressed ? renderTypeDetails : renderType;
        grid[divId].getView().refresh();
    }

    var gridStore = Ext.create('Ext.data.Store', {
        model: 'gridModel',
        proxy: {
            type: 'jsonp',
            url: url,
            reader: {
                type: 'json',
                record: 'doc',
                root: 'doclist'
            }
        }
    });
    if (dSort) {
        gridStore.sort(dSort, dSortOrder);
    }
    var searchField = new SearchField({ store: gridStore, width: 300 });
    var toggleButton = new Ext.Button({
        enableToggle: true,
        border: true,
        text: 'View Details',
        toggleHandler: toggleDetails,
        pressed: false
    });
    grid[divId] = Ext.create('Ext.grid.Panel', {
        renderTo: divId,
        store: gridStore,
        enableColumnHide: false,
        enableColumnMove : false,
        height: gridHeight,
        tbar: ['Filter: ', ' ', searchField, { xtype: 'tbfill' }, toggleButton],
        columns: [
            {text: 'Type', width: 50, dataIndex: 'type',renderer: renderType},
            {text: 'Document Name', flex: 1, dataIndex: 'name', renderer: renderName},
            {text: 'Modified', width: 90, dataIndex: 'modified', xtype:'datecolumn', format:'m/d/Y'}
        ]
    });
    var loadMask = new Ext.LoadMask(divId, {message: "Loading"});
    gridStore.load();
}

来自网络服务的getTopics

public content getTopics(string foldername)
        {
            content returnContent = new content();

            returnContent = getDocs2(foldername);

            return returnContent;
        }

1 个答案:

答案 0 :(得分:0)

在这里添加缺少的分号(第8行):

buildGrid(uniqueId,title,gridHeight,url,dSort,dSortOrder);