繁体   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