Sharepoint 如何获取对外部 Web 服务的请求
Sharepoint How to do get request to external web service
如何从 Sharepoint 对象模型向外部 Web 服务发出获取请求?我试着用 ajax 请求做到了:
$.get("http:/servername/webservice_name", function(data, status) {
alert("Data: " + data[0] + "\nStatus: " + status);
});
但是我有一个错误:访问被拒绝。
我的网络服务有 JSON 格式的响应。
我已经阅读了很多文章,但没有决定。我读到 ajax 禁止在 SharePoint 中用于外部 Web 服务。没有 ajax 怎么办?
如果您认为 AJAX 或特定库的使用阻止您访问网络服务,您可以尝试使用本机 JavaScript [=11= 直接调用网络服务].
例如:
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
}
您还应确认您的 Internet Explorer 设置对于 SharePoint 与 HTML 页面的设置相同,您可以在该页面上使用 Web 服务。具体来说,您需要检查浏览器模式和安全设置。
在尝试对您的网络或代码进行故障排除之前,请确认当设置相同时问题仍然存在。
在 SharePoint online 中,它仅适用于 https 网络服务。不允许来自 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");
}
});
});
如何从 Sharepoint 对象模型向外部 Web 服务发出获取请求?我试着用 ajax 请求做到了:
$.get("http:/servername/webservice_name", function(data, status) {
alert("Data: " + data[0] + "\nStatus: " + status);
});
但是我有一个错误:访问被拒绝。 我的网络服务有 JSON 格式的响应。 我已经阅读了很多文章,但没有决定。我读到 ajax 禁止在 SharePoint 中用于外部 Web 服务。没有 ajax 怎么办?
如果您认为 AJAX 或特定库的使用阻止您访问网络服务,您可以尝试使用本机 JavaScript [=11= 直接调用网络服务].
例如:
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
}
您还应确认您的 Internet Explorer 设置对于 SharePoint 与 HTML 页面的设置相同,您可以在该页面上使用 Web 服务。具体来说,您需要检查浏览器模式和安全设置。
在尝试对您的网络或代码进行故障排除之前,请确认当设置相同时问题仍然存在。
在 SharePoint online 中,它仅适用于 https 网络服务。不允许来自 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");
}
});
});