SharePoint托管的应用程序REST API

问题描述:

所以,我一直在审查我可以找到的每一个资源,几乎尝试了我在这里找到的所有代码并使用Microsoft文档。我无法弄清楚我做错了。我试图更新在使用REST名为计划订单列表称为DispatchStatus场,但无论我怎么努力,我不是得到一个不确定的结果在成功函数与现场不被更新或我得到SharePoint托管的应用程序REST API

{"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 = ""; 

insted的的

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

所以在IE浏览器,这是浏览器我有开发本作的问题,它看起来像它没有工作,因为正在更新的价值没有被收回。当我在Chrome浏览器中查看应用程序并注意到一切正常时,我意识到这不是我的REST调用,而是浏览器的问题。我追查下来,现在它终于在IE中工作。还有一件事情,IE导致打破,但所有其他浏览器的其他一切工作正常。我想知道为什么其他一切正常工作,除了在IE浏览器中的var c。对于我的生活,我无法弄清楚为什么只有那一个变量不能被分配一个值,只有在IE中?