簡體   English   中英

SharePoint托管的應用程序REST API

[英]SharePoint hosted app REST API

因此,我一直在瀏覽我能找到的所有資源,並嘗試了在這里可以找到的幾乎所有代碼,並使用了Microsoft文檔。 我不知道我做錯了。 我正在嘗試使用REST更新名為Schedule Orders的列表中的名為DispatchStatus的字段,但是無論我嘗試執行什么操作,要么我得到的成功函數都具有未定義的結果,而該字段沒有被更新,或者我得到了

{"readyState":4,"responseText":"404 NOT FOUND","statusText":"NOT FOUND"}

作為錯誤返回。

這是我正在使用的代碼:

function updateDelivery(id) {
    var url = "_api/web/lists/GetByTitle('Scheduled Orders')/items(" + id + ")"
    var itemMetadata = {
      '__metadata': {
          'type': getListItemType('Scheduled Orders')
      },
      'DispatchStatus': document.getElementById(id).value
  };
  updateL(url, itemMetadata, checkresult);
}
function updateItem(url, itemMetadata, callback) {
    $.ajax({
        url: _spPageContextInfo.webAbsoluteUrl + url,
        data: JSON.stringify(itemMetadata),
        type: 'POST',
        contentType: 'application/json;odata=verbose',
        headers: {
            'X-HTTP-Method': 'MERGE',
            'X-RequestDigest': $("#__REQUESTDIGEST").val(),
            'Accept': 'application/json;odata=verbose',
            'IF-MATCH': '*'
        },
        success: function (data) {
            callback(data);
        },
        error: function (error) {
            alert(JSON.stringify(error));
        }
    });
}
function getListItemType(name) {
    var ret = "";
    var url = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + name + "')?$select=ListItemEntityTypeFullName"
    $.ajax({
        url: url,
        method: "GET",
        async: false,
        headers: {
            "Accept": "application/json; odata=verbose"
        },
        success: function (data) {
            ret = data.d.ListItemEntityTypeFullName
        },
        error: function (error) {
           alert(JSON.stringify(error));
        }
    });    
    return ret;
}

這似乎應該是一個簡單的任務,我是否缺少必需的數據? 我是否需要復制項目中所有以前的數據? 還是我需要以其他方式更新列表項?

我想到了。 原來它一直在工作,但是IE顯然存在識別問題

var a = b = c = d = "";

裝的

var a = "";
var b = "";
var c = "";
var d = "";

因此,在IE(我必須為此開發的瀏覽器)中,它似乎無法正常工作,因為未獲取正在更新的值。 當我在Chrome瀏覽器中查看該應用程序時,發現一切正常,我意識到這不是我的REST通話,而是瀏覽器出現問題。 我找到了它,現在終於可以在IE中使用了。 IE破壞的另一件事是,但其他所有瀏覽器上的其他所有功能都正常運行。 我想知道為什么除了IE中的var c之外,其他所有東西都能正常工作。 對於我的一生,我無法弄清楚為什么僅那個變量無法以某種方式分配值,而只能在IE中?

暫無
暫無

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

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