#wcf #wcf-rest
#wcf #wcf-rest
Вопрос:
Я вызываю службу rest в ajax. Если я добавлю файл svc в тот же проект и вызову, я смогу вызвать URL
Ниже приведен рабочий URL-адрес
http://localhost:1947/GreenViewService.svc/?callback
Если я добавлю svc в отдельный уровень проекта и вызову в ajax, я не смогу вызвать, он выдает ошибку 403 forbidden, а иногда и ошибку 405.
Если я вызываю приведенный ниже URL-адрес с другого уровня, который не работает, это потому, что номер порта меняется. должен ли я предоставлять какие-либо права доступа.
function GetDataPoints() {
alert('S');
var action = 'http://localhost:1984/GreenViewService.svc/?callback=';
alert(action);
$.ajax({
"type": "GET",
"url": action,
"cache": false,
"contentType": "application/json; charset=utf-8",
dataType: "text",
"success": function(result) {
alert(eval(result));
var json = eval(result);
//fillDropDown(json, prefix 'DataPoint', 'NodeLabel', 'ID');
}
});
}
Комментарии:
1. Не могу указать вам на точную проблему. Но я уже однажды работал со службами rest в проекте .net. Там я столкнулся с проблемой, из-за которой я продолжал получать 403. Я использовал найденную мной библиотеку, см. github.com/mikeobrien/WcfRestContrib . Это помогло мне обеспечить правильный доступ к моему веб-сервису.
Ответ №1:
Как вы говорите, это работает, когда в том же проекте, но не в другом проекте.
Разница в том, что когда это происходит в другом проекте, это межсайтовый вызов.
Для выполнения межсайтового вызова необходимо использовать JSONP