使用REST在MS Sharepoint的现有列表中添加新项目?

时间:2018-07-09 07:29:00

标签: javascript sharepoint

我还是Java语言的初学者,并被分配在我们的sharepoint网站上创建一页调查表。我用多个文本框和下拉列表创建了一个。现在,我的下一个目标是将这些字段中的值传递给一个名为“反馈”的现有列表。

我尝试研究,但仍然没有得到一些代码。我有主干代码,但我不知道如何从文本框/下拉列表中传递值。这是我当前的代码:

    var value1 = document.getElementById("recipient_dropdown").value;
    var value2 = document.getElementById("name_textbox").value;
    var webUrl = "https://sharepoint.ap.sample.com/phl/SIL-BA/BAC";

    // occurs when a user clicks the create button
    function CreateNew() {
        var listName = "Feedback";
        var newItemTitle = "";
        CreateListItemWithDetails(listName, webUrl, newItemTitle, function () {
            alert("New Item has been created successfully.");
     }, function () {
         alert("Ooops, an error occured. Please try again.");
     });
    }

    function CreateListItemWithDetails(listName, webUrl, newItemTitle, success, failure) {
            var item = {
            '__metadata': { 'type': 'SP.Data.customlistListItem' },
            'Title': newItemTitle,
            'Addressed_x0020_To': value1,
            'Individual_x0020_Name': value2             
        };


        $.ajax({
            url: webUrl + "/_api/web/lists/getByTitle('Feedback')/items",
            method: "POST",
            contentType: "application/json;odata=verbose",
            data: JSON.stringify(item),
            headers: {
                "Accept": "application/json;odata=verbose",
                "X-RequestDigest": $("#__REQUESTDIGEST").val()
            },
            success: function (data) {
                alert(data);
            },
            error: function (data) {
                alert(data);
            }
        });
    }

在此示例中,我想将2个变量(值1和值2)的值添加到网址“ https://sharepoint.ap.sample.com/phl/SIL-BA/BAC”中名为“反馈”的现有列表中。

当我单击按钮时,我收到一条警报消息,但它返回“ Obj obj”消息。

也在控制台页面中,它从以下行返回“ Error 400 Bad Request”:webUrl +“ / _api / web / lists / getByTitle('Feedback')/ items”

您能指导我如何使用当前代码吗?如果您能解释其中的一些内容,以便我能理解,我也将不胜感激。非常感谢!

1 个答案:

答案 0 :(得分:0)

__metadata是错误的,假设您的列表是“反馈”,__metadata应该是SP.Data.FeedbackListItem

enter image description here

更新:

我的提琴手测试结果。

代码参考在这里:

https://www.c-sharpcorner.com/article/crud-operation-on-list-items-using-rest-api-services-in-shar/

enter image description here

相关问题