У меня есть экземпляр ServiceNow, и я пытаюсь вытащить всех пользователей с помощью библиотеки JSON. Я могу легко увидеть список пользователей JSON, если я набираю URL-адрес, который сбрасывает эти данные, я пытаюсь создать веб-страницу, которая возьмет этот список JSON и сделает список пользователей из него. Я продолжаю сталкиваться с проблемами перекрестного домена, CORS недоступен для меня, поэтому я пытаюсь динамически загружать скрипты в соответствии с информацией пользователя. Это код, который я пытаюсь получить.Использование динамических скриптов для загрузки данных JSON - перекрестный домен - CORS не доступен
function test() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var domain = document.getElementById("domain").value;
var targeturl = "https://" + username + ":" + password + "@"
+ domain + "/sys_user_list.do?JSON&sysparm_action=getRecords";
$.getScript(targeturl + "&callback=dumpData")
function dumpData(data) {
alert(data);
}
}
На данный момент сценарий загружается правильно, но вызывает синтаксическую ошибку.
неперехваченного SyntaxError: Неожиданное фишку:
Как я должен сделать вызов getScript, так что я могу получить мои JSON данные? Является ли это даже допустимым методом, я наткнулся на него, пытаясь понять эту проблему, и это похоже на мой единственный вариант. Я пробовал YQL, но это не работает.
EDIT:
Я переделан код, чтобы воспользоваться $ .ajax, вот код
$.ajax({
url: 'https://' + username + ':' + password + "@" + domain + '/sys_user_list.do?JSON&sysparm_action=getRecords&callback=test',
type: "GET",
success: function (data) {
alert("hello");
},
crossDomain: true,
dataType: "jsonp",
jsonpCallback: 'test'
});
function test(data) {
alert("It worked!");
}
Я обыскивал все сообщения, связанные с ли это все еще может «Нет. У кого-нибудь есть рекомендации относительно того, как исправить эту ситуацию? Он по-прежнему получает неверную синтаксическую ошибку. Невозможно получить данные JSON?
Я также попытался использовать YQL для получения данных, но также сталкивается с проблемами безопасности.
Спасибо,
Chris
Вы пытались определить обратный вызов перед '$ .getScript()'? – Corion
Похоже, вы пытаетесь использовать JSONP, и да, это должен быть допустимый метод. Я не думаю, что у вас есть синтаксис совершенно правильно - посмотрите [.getJSON] (http://api.jquery.com/jQuery.getJSON/) в документах jQuery. –
Если я использую .getJSON, тогда я получаю ошибку перекрестного домена. –