SharePoint 2013跨域REST Javascript [英] SharePoint 2013 Cross Domain REST Javascript

查看:115
本文介绍了SharePoint 2013跨域REST Javascript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个独立的SharePoint环境,我在第一个环境中创建了一个列表,并希望在第二个环境中显示其信息。使用JavaScript代码的环境。

I have two separate SharePoint environments, I created a list in first environment and want to display its information in second  environment using JavaScript code.

两个环境都是单独的农场,我在javaScript下面使用但是我遇到了一些错误,请你指导一下究竟是什么问题。

Both Environment are separate farms, I used below javaScript but I get some errors, could you please guide me on what is exact issue.

代码:




遇到错误:

" App未针对此应用的请求部署网址http://sharepoint2013_dev/en."

"App Web is not deployed for this app's request url http://sharepoint2013_dev/en."

在开发工具中:

我有401访问被拒绝错误

I got 401 Access Denied Error

Ali

推荐答案

跨域库需要在SharePoint托管应用程序和代码中使用webUrl只是一个普通的主机Web列表Rest Url,它需要app web url,你可以参考下面的代码来获取SharePoint托管的跨域库列表项
app:

Cross Domain Library needs to used in SharePoint hosted app and in your code webUrl is just a normal host web list Rest Url, it needs the app web url instead, you could refer the following code to get list item with Cross Domain Library in SharePoint hosted app:

var SPAppWebUrl;
var listName = "Test";
 
// read URL parameters
function getQueryStringParameter(param) {
  var params = document.URL.split("?")[1].split("&");
  var strParams = "";
  for (var i = 0; i < params.length; i = i + 1) {
    var singleParam = params[i].split("=");
    if (singleParam[0] == param) {
      return singleParam[1];
    }
  }
}


(document).ready(function(){
//获取主机网站的URL和app web
SPAppWebUrl = decodeURIComponent(getQueryStringParameter(" SPAppWebUrl"));
SPHostUrl = decodeURIComponent(getQueryStringParameter(" SPHostUrl"));
});

//从列表中读取项目测试
函数getItemsAppContextSite(){

//查询主机网络中的列表
var url = SPAppWebUrl +" / _ api / SP.AppContextSite(@target)" +
" / web / lists / getbytitle('" + listName +"')/ items?" +
" @target ='" + SPHostUrl +"'" ;;
(document).ready(function () { // get the URLs of the host web and the app web SPAppWebUrl = decodeURIComponent(getQueryStringParameter("SPAppWebUrl")); SPHostUrl = decodeURIComponent(getQueryStringParameter("SPHostUrl")); }); // read the items from the list Test function getItemsAppContextSite() { // query the list in the host web var url = SPAppWebUrl + "/_api/SP.AppContextSite(@target)" + "/web/lists/getbytitle('" + listName + "')/items?" + "@target='" + SPHostUrl + "'";


.ajax({
url:url,
type:" GET",
headers:{ "接受":""application / json; odata = verbose"},//返回数据格式
成功:函数(数据){
.ajax({ url: url, type: "GET", headers: { "Accept": "application/json;odata=verbose" }, // return data format success: function (data) {


这篇关于SharePoint 2013跨域REST Javascript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆