Я хочу сделать междоменный запрос к файлу JSON, находящемуся на другом компьютере, с моей машины. Я использовал приведенный ниже код, чтобы вызвать
$http.jsonp('http://10.2.1.1/testdata/samplefile.json?callback=jsonpcallback').success(function (data) {
var d = data;
}).error(function (error) {
console.info(error);
});
Но код всегда входит в функцию ошибки с неопределенной ошибкой. Я создал файл для возврата json как объекта js, поскольку мой возвращаемый тип - json. Что-то не так с этим форматом или чего-то не хватает? угловая версия 1.4.9.
//samplefile.json
var data = {
"FileType": 0,
"CurrentGuid": "9b613045-4e5c-4305-81b2-a95a8d82bc5r",
"LastPublishedDateTime": "2018-10-29T14:41:49.149615Z",
"Cultures": {
"LastPublishedDate": "2018-10-29T14:39:10.443742Z",
"CurrentGuid": "7f116191-18c1-4204-b8cf-3d2a0d5a2drd",
"ChangeType": 1
}
};
его угловая версия 1.4.9
Метод $http.jsonp
работает только с серверами, которые возвращают функцию javascript, имя которой указано в параметре обратного вызова.
По соглашению сервер, предоставляющий данные JSON, предлагает запрашивающему веб-сайту назвать функцию JSONP, обычно используя имя jsonp или обратный вызов в качестве имени поля именованного параметра запроса, в своем запросе к серверу, например,
<script type = "application/javascript"
src = "http://server.example.com/Users/1234?callback=parseResponse">
</script>
В этом примере полученная полезная нагрузка будет:
parseResponse({"Name": "Foo", "Id": 1234, "Rank": 7});
Для получения дополнительной информации см. Википедия - JSONP.
Какая у вас версия angularjs? Вам может понадобиться использовать другой синтаксис