доступ запрещен с использованием jquery-1.4.1.js - PullRequest
2 голосов
/ 10 ноября 2010

Я использую VS2010 с версией jquery-1.4.1.js, и я пытаюсь получить доступ к службе WCF, и я получаю странную ошибку "Доступ запрещен" в jquery-1.4.1.js на номер страницы 4982

jquery-1.4.1.js:

    // Open the socket
    // Passing null username, generates a login popup on Opera (#2865)
    if ( s.username ) {
        xhr.open(type, s.url, s.async, s.username, s.password);
    } else {
        xhr.open(type, s.url, s.async);
    }

вот как я звоню

 function PostData() {           

        var webMethod = 'http://myservices/SomeService.svc/GetCount'
        var parameters = "{'Id': '" + "1" + "'}"
        $.ajax({
            type: "POST",
            url: webMethod,
            data: parameters,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                //$(divToBeWorkedOn).html(msg.d);
                debugger
            },
            error: function (e) {
                //$(divToBeWorkedOn).html("Unavailable");
            }
        });
    } 

в чем может быть проблема?Я тестирую свой сервис wcf, и он работает нормально, я пытаюсь подключиться через asp.net и добавить веб-ссылку, просто чтобы увидеть, есть ли проблемы.

1 Ответ

1 голос
/ 10 ноября 2010

Эта строка не нужна:

contentType: 'application/json; charset=utf-8', 

Она сообщает серверу, какие данные вы отправляете, а не какие вы ожидаете получить, и вы фактически не отправляете никаких данных.


Редактировать

Похоже, вы вызываете скрипт в другом домене.Это нарушает ту же политику происхождения : вы можете отправлять запросы AJAX только на элементы в одном домене.Существует обходной путь, использующий что-то под названием JSONP, которое требует поддержки на стороне сервера.См. Документацию по $.ajax, особенно раздел JSONP dataType .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...