Sharepoint 2013 SharePoint 2013托管应用程序。跨域问题
我正在开发SharePoint托管的应用程序。在这个应用程序中,我想将数据(多个文件流作为多部分表单数据)发布到跨域第三方Rest服务,该服务需要用户名和密码才能通过此Post请求。我发现许多示例可以通过“GET”操作访问跨域REST服务,而无需用户名和密码。这些示例适用于GET操作,没有用户名和密码,但不支持我希望发送用户名和密码以及多部分表单数据的情况 我看到了fiddler会话,我想发送授权头值,它是用户名和密码组合的散列值。但是这项工作无法成功地将用户名和密码传递给rest服务。我还需要找到一种方法将多部分表单数据发送到REST服务 以下是在msdn论坛上提出的问题,Sharepoint 2013 SharePoint 2013托管应用程序。跨域问题,sharepoint-2013,Sharepoint 2013,我正在开发SharePoint托管的应用程序。在这个应用程序中,我想将数据(多个文件流作为多部分表单数据)发布到跨域第三方Rest服务,该服务需要用户名和密码才能通过此Post请求。我发现许多示例可以通过“GET”操作访问跨域REST服务,而无需用户名和密码。这些示例适用于GET操作,没有用户名和密码,但不支持我希望发送用户名和密码以及多部分表单数据的情况 我看到了fiddler会话,我想发送授权头值,它是用户名和密码组合的散列值。但是这项工作无法成功地将用户名和密码传递给rest服务。我还需要
我不知道您的问题是否已解决,但以下是sharepoint托管应用程序跨域调用sharepoint列表的添加、删除和更新列表中的项目示例
function addItem() {
var executor = new SP.RequestExecutor(appweburl);
var dataTobeSent = {
__metadata: { "type": "SP.Data.TestListforAppListItem" },
Title: $("#col1").val(),
testCol1: $("#col2").val(),
test_x0020_col_x0020_2: $("#col3").val()
};
var sendData = JSON.stringify(dataTobeSent);
executor.executeAsync(
{
url:
appweburl +
"/_api/SP.AppContextSite(@target)/web/lists/getByTitle('testListforApp')/items?@target='" +
hostweburl + "'",
contentType: "application/json;odata=verbose",
method: "POST",
body: sendData,
headers: {
"Accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
success: getAllListItems,
error: errorHandler
}
);
}
function deleteItem(id) {
var executor = new SP.RequestExecutor(appweburl);
executor.executeAsync(
{
url:
appweburl +
"/_api/SP.AppContextSite(@target)/web/lists/getByTitle('testListforApp')/items(" + id + ")?@target='" +
hostweburl + "'",
contentType: "application/json;odata=verbose",
method: "POST",
headers: {
"Accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
"X-Http-Method": "DELETE",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"If-Match": "*"
},
success: getAllListItems,
error: errorHandler
}
);
}
function updateItem(id) {
var executor = new SP.RequestExecutor(appweburl);
var dataTobeSent = {
__metadata: { "type": "SP.Data.TestListforAppListItem" },
Title: $("#col1").val(),
testCol1: $("#col2").val(),
test_x0020_col_x0020_2: $("#col3").val()
};
var sendData = JSON.stringify(dataTobeSent);
executor.executeAsync(
{
url:
appweburl +
"/_api/SP.AppContextSite(@target)/web/lists/getByTitle('testListforApp')/items(" + id + ")?@target='" +
hostweburl + "'",
contentType: "application/json;odata=verbose",
method: "POST",
body: sendData,
headers: {
"Accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
"X-HTTP-Method": "MERGE",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"If-Match": "*"
},
success: getAllListItems,
error: errorHandler
}
);
}
希望这有帮助