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 导致中断的另一件事,但所有其他浏览器上的其他一切都运行良好。我想知道为什么除了 var c 在 IE 中其他一切都工作正常。对于我的一生,我无法弄清楚为什么只有那个变量无法以某种方式赋值并且只能在 IE 中赋值?