Результат Jsonp не работает на моем сайте asp.net-mvc - PullRequest
0 голосов
/ 26 сентября 2011

Я пытаюсь заставить работать вызов jsonp с помощью jquery и моего сайта asp.net-mvc. Я нашел эту статью, которую я пытался скопировать , но я не получаю точку останова в своем обратном вызове:

Вот мой код jquery:

         $.ajax({
                url: "http://www.mySite.com/MyController/Terms",
                type: "GET",
                dataType: "jsonp",
                timeout: 10000,
                jsonpCallback: "localJsonpCallback"
            });

            function localJsonpCallback(json) {
                 var terms = json.HTMLText;
                 $("#term2").html(terms);
            }

и воткод моего контроллера:

    public JsonpResult Terms()
    {
        var data = GetData();
        return this.Jsonp(data);
    }

, где JsonpResult и this.Jsonp определены на этой странице :

так что я не могу получить обратный вызов, но когда я открываю раздел сценария Firebug, я вижу файл в списке, когда URL-адрес и имеет:

 Terms?callback=localJsonpCallback

и когда я просматриваю содержимое, которое япосмотрите правильное содержимое объекта json:

localJsonpCallback({"HTMLText":"PRIVACY POLICY: Your privacy is very important to us"});

, так что это говорит о том, что данные возвращаются клиенту, но обратный вызов, похоже, не запускается, а ввод текста не заполняется.

Может кто-нибудь найти проблему с тем, что я делаю, или у вас есть объяснение, почему это не сработает?

1 Ответ

1 голос
/ 26 сентября 2011

У вас нет функции success, определенной для вашего запроса ajax. Используемый параметр jsonpCallback определяет только имя параметра строки запроса, который будет использоваться сервером для переноса ответа JSON.

Попробуй так:

$.ajax({
    url: 'http://www.mySite.com/MyController/Terms',
    type: 'GET',
    dataType: 'jsonp',
    timeout: 10000,
    jsonp: 'jsoncallback',
    success: function(json) {
        var terms = json.HTMLText;
        $('#term2').html(terms);
    }
});

Также проверьте следующий ответ .

...