0

所以我有一段代码,如果字段有内容,它将更新字段值,尽管如果我尝试更新的字段为空,则该值不会更新。难道我做错了什么?

siteURL = _spPageContextInfo.webAbsoluteUrl;
        var apiPath = _spPageContextInfo.webAbsoluteUrl +"/_api/lists/getbytitle('Training%20Copy')/items/getbyid(9)"; 
        $.ajax({  
                url: apiPath,  
                type: "POST",  
                headers: {  
                    Accept: "application/json;odata=verbose"  
                },  
                data: JSON.stringify
                ({
                    __metadata:
                    {
                        type: "SP.Data.Training_x0020_CopyItem"
                    },
                    Admin_x0020_Function: "Have content"
                    
                }), 
                headers: {  
                "Accept": "application/json;odata=verbose",
                "Content-Type": "application/json;odata=verbose",
                "X-RequestDigest": $("#__REQUESTDIGEST").val(),
                "IF-MATCH": "*",  
                "X-HTTP-Method": "MERGE" 
            }, 
            async: false, success: function(data) {  
                console.log("Item updated successfully");  
            }, eror: function(data) {  
                console.log("An error occurred. Please try again.");  
            }
        }) 
4

1 回答 1

0

你的ajax请求中有两个headers参数,不清楚是否会影响。

我的测试代码供您参考:

  <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js" type="text/javascript"></script>
    <script>
    $(document).ready(function () {
    Update()
    function Update(){  
        $.ajax({  
        url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('Doc')/items(9)",  
        type: "POST",  
        headers: {  
            "accept": "application/json;odata=verbose",  
            "X-RequestDigest": $("#__REQUESTDIGEST").val(),  
            "content-Type": "application/json;odata=verbose",  
            "IF-MATCH": "*",  
            "X-HTTP-Method": "MERGE"  
        },  
        data: JSON.stringify({__metadata:{'type':'SP.Data.DocItem'},test:'test'}),  
        /*where Title is column name and add your desired new data*/  
        success: function(data) {  
            console.log(data);  
        },  
        error: function(error) {  
            alert(JSON.stringify(error));  
        }  
    });
    }
    })
    </script>
于 2020-10-29T05:44:14.893 回答