2013-04-11 6 views
1
window.MyCallback = function (data) { 
    console.log(data); 
}; 

$(document).ready(function() { 

    $.ajax({ 
      type: 'GET', 
      url: 'http://xxx.xxx.xxx.xx/MyService/Service.svc/MyMethod', 
      contentType: 'application/jsonp', 
      crossdomain: true, 
      dataType: "jsonp", 
      data: { 'username': 'Jack' }, 
      crossDomain: true, 
      jsonpCallback: 'MyCallback', 
      success: function (txt) { 
       console.log(txt); 
      }, 
      error: function (xhr, status, err) { 
       console.log(status, err); 
      } 
    }); 
}); 

Je reçois toujours l'erreur: MyCallback was not called.jQuery erreur demande ajax: callback appelé

Répondre

0
$.ajax({ 
    type: "GET", 
    dataType: "jsonp", 
    contentType: "application/javascript", 
    data: { 'username': 'Jack' }, 
    async: false, 
    url: 'http://xxx.xxx.xxx.xx/MyService/Service.svc/MyMethod', 
    success: function (jsonData) { 
     console.log(jsonData); 
    }, 
    error: function (request, textStatus, errorThrown) { 
     console.log(request.responseText); 
     console.log(textStatus); 
     console.log(errorThrown); 
    } 
}); 
+0

parce que 'crossdomain: true' n'a pas été ajouté? – byJeevan

-1

Pour appeler la fonction "MyCallback", votre URL doit être,

url: 'http://xxx.xxx.xxx.xx/MyService/Service.svc/MyMethod?callback=? 

et le serveur doit retourner le réponse ajax comme

return "MyCallback(your data here)" 
+0

Je ne recommanderais pas de codage dans les chaînes comme ça. – Herbert

1

Pourquoi ne pas aimer ça?

var mycallback = function (data) { 
    console.log("callback", data); 
}; 

$(document).ready(function() { 

    $.ajax({ 
     type: 'GET', 
     url: 'https://graph.facebook.com/sagish', 
     contentType: 'application/jsonp', 
     dataType: "jsonp", 
     data: { 'username': 'Jack' }, 
     crossDomain: true, 
     success: mycallback, 
     error: function (xhr, status, err) { 
      console.log(status, err); 
     } 
    }); 
});