Pergunta

Estou tentando criar um aplicativo sharepoint que obtém e usa dados json gerados em outro site/aplicativo web por meio de uma solicitação ajax.Digamos que os dados JSON que desejo obter de outro site sejam uma lista de algumas marcas de laptop.

O aplicativo/ambiente do sharepoint está em outro servidor que não o site com as marcas de laptop e o site do laptop não está relacionado ao sharepoint de forma alguma.Suponha o seguinte:

var laptopUrl = "https://examplewebsite.com/laptopbrands"; // returns a json list with laptop brands
var sharepointWebsite = 'https://totallydifferentwebsite.com/sharepoint';

Ao navegar para laptopUrl no navegador, ele gera os dados json, mas ao usar o código no aplicativo sharepoint, nenhum dado é retornado.Tentei usar o seguinte código (e várias outras solicitações jQuery AJAX):

$.getJSON( laptopUrl, function( data ) {
    console.log(data); // Empty
});

Tenho tentado várias maneiras de obter os dados JSON no aplicativo sharepoint, mas sem sucesso...Eu vi um exemplo de Aplicativo de previsão do tempo do Yahoo isso fez praticamente o que eu queria, mas quando mudei a URL para minha própria saída JSON, o resultado estava vazio...

Estou fazendo algo errado ou o que estou tentando alcançar simplesmente não é possível?

Desde já, obrigado,

ilianos

Foi útil?

Solução

Parece que você precisa do JSONP neste cenário:

JSONP ou "JSON com preenchimento" é uma técnica de comunicação usada em Programas JavaScript que são executados em navegadores da Web.Ele fornece um método para solicitar dados de um servidor em um domínio diferente, algo proibido por navegadores da Web típicos devido à mesma política de origem.

JSONP pode ser acionado usando:

$.getJSON(laptopUrl + "?callback=?", null, function(data) 
{
    console.log(data); 
});

A adição de '?callback=?' acionará uma solicitação jsonp.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top