簡體   English   中英

如何使用AJAX在共享點列表上使用共享的客戶編號更新多個項目?

[英]How can I update multiple items with a shared customer number on a sharepoint list with AJAX?

我正在嘗試使用以下javascript / ajax更新sp列表。 它成功,直到到達ajax函數為止,而在這里失敗了。 當定義為以下內容時,表示未定義ItemID:

var ItemId=item.ID

任何幫助表示贊賞。

  <script type="text/javascript">
    function updateMultipleListItems(){
        var listName="Address Validation";
        //CustomerNumber.val("16");
        var CustomerNumber="CustNum";
        $.ajax({
url: _spPageContextInfo.siteAbsoluteUrl + "/_api/web/lists/getbytitle('" + listName + "')/items?$select=ID&$filter=Cust_x0020_Number eq 17",

            type: "GET",       
            headers: {
                "Accept": "application/json;odata=verbose",
            },
            success: function (data) {       
                for (var i = 0; i < data.d.results.length; i++) {  
                    var item = data.d.results[i];  
                    alert("1");
                    var itemType = GetItemTypeForListName(listName);
                    alert("2");
                    var itemId = item.ID;
                    alert("3");
                    var item = {
                    "__metadata": { 
                    "type": 'SP.Data.Address%20ValidationListItem'
                    }, 
                    "assign": "testinput" 
                    };      
                    alert("4");             
                    $.ajax({
                        url:_spPageContextInfo.siteAbsoluteUrl + "/_api/web/lists/getbytitle('" + listName + "')/items('" + ItemId + "')",
                        type: "POST",
                        contentType: "application/json;odata=verbose",
                        data: JSON.stringify(item),
                        headers: {
                            "Accept": "application/json;odata=verbose",
                            "X-RequestDigest": $("#__REQUESTDIGEST").val(),
                            "X-HTTP-Method": "MERGE",
                            "If-Match": "*"
                        },
                        success: function (data) {
                            console.log('Update Success');
                            alert("Success");

                        },
            //          error: function(xhr, status, error) {
            //          var err = eval("(" + xhr.responseText + ")");
            //          alert(err.Message);
    //}
                    });

                } 
            },
            error: function (data) {
                alert("Error");
            }
        });
    }
    function GetItemTypeForListName(name) {
        return "SP.Data." + name.charAt(0).toUpperCase() + name.split(" ").join("").slice(1) + "ListItem";
    }  
    </script>

我正在嘗試做的是:

我正在嘗試更新cust_number(列表中的一列)字段為17的列表中的所有記錄,以便assign(另一列)=“ testinput”。

例如:
保管號| 分配
17 | 測試輸入
1 |
17 | 測試輸入

恐怕您打了一個簡單的錯字。

在代碼的特定點上,您需要聲明以下內容:

var itemId = item.ID;

稍后,您嘗試訪問相同的變量

url:_spPageContextInfo.siteAbsoluteUrl + "/_api/web/lists/getbytitle('" + listName + "')/items('" + ItemId + "')",

但是itemId != ItemId

JavaScript區分大小寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM