2016-07-24 8 views
0

Sharepointオブジェクトモデルから外部Webサービスへのリクエストを取得するにはどうすればよいですか?私はAjaxリクエストで試してみました:Sharepoint外部Webサービスへのリクエストの取得方法

$.get("http:/servername/webservice_name", function(data, status) { 
alert("Data: " + data[0] + "\nStatus: " + status); 

});

しかし、私はエラーが発生しました:アクセスが拒否されました。 WebサービスにJSON形式の応答があります。 私は多くの記事を読んだが、決定はない。私は、外部WebサービスのためにSharePointで禁止されているajaxを読んでいます。どのように私はそれをアヤックスなしで作ることができますか?

+0

Sharepointバージョン?サービスは同じドメインを使用していますか? –

+0

Sharepoint 2013 online。いいえ、Webサービスには他のドメインがあります – Dim

+0

アクセスが拒否されました。ユーザーが外部Webサイトにアクセス許可を持っていないことを意味します。 – bresleveloper

答えて

0

SharePointオンラインでは、https Webサービスのみで動作します。 httpsウェブサイトのhttpは許可されていません。 最終コード:https:

$(document).ready(function(){ 
$.ajax({ 
    url: "https://services.odata.org/Northwind/Northwind.svc/Customers", 
    type: "GET", 
    headers: { "ACCEPT": "application/json;odata=verbose" }, 
    async: false, 
    success: function (data) { 
     if(data.d.results.length>0){ 
      alert("Results Count:"+data.d.results.length); 
     }else{ 
      alert("no data"); 
     } 
    }, 
    error: function() { 
     //alert("Failed to get details");     
    } 
}); 

});

0

AJAXまたは特定のライブラリを使用してウェブサービスにアクセスできないと思われる場合は、ネイティブJavaScript XMLHttpRequestを使用して直接ウェブサービスを呼び出すことができます。例えば

var verb = "GET"; 
var url = "http://servername/webservice_name"; 
var xhr = new XMLHttpRequest(); 
xhr.open(verb, url, true); 
xhr.setRequestHeader("Content-Type","application/json"); 
xhr.onreadystatechange = function(){ 
    if(xhr.readyState == 4){ 
     myCallbackFunction(xhr.status, xhr.responseText); 
    } 
}; 
xhr.send(data); 

function myCallbackFunction(status, text){ 
    // do something with the results based on the status 
} 

はまた、彼らはあなたが動作するようにWebサービスを得ることができるしているHTMLページのためのものであるとして、あなたのInternet Explorerの設定は、SharePointのために同じであることを確認する必要があります。具体的には、ブラウザモードとセキュリティ設定を確認する必要があります。

ネットワークまたはコードのトラブルシューティングを試みる前に、設定が同一でも問題が解決されないことを確認してください。

関連する問題