je simple ApiController je teste:jquery ajax appel à api web .NET renvoie l'erreur
namespace SMOnline.Controllers
{
public class DocumentosController : ApiController
{
Documentos[] docs = new Documentos[]
{
new Documentos { ID = 1, Tipo = 1, Designacao = "FC001"},
new Documentos { ID = 2, Tipo = 1, Designacao = "FC002"}
};
public IEnumerable<Documentos> GetAll()
{
return docs;
}
}
}
Et du côté client que je vous appelle cela d'un autre domaine
$.ajax({
async: true,
type: 'GET', //GET or POST or PUT or DELETE verb
url: apiUrl + 'Documentos/', // Location of the service
dataType: 'jsonp', //Expected data format from server
})
.done(function (data) {
// On success, 'data' contains a list of documents.
$.each(data, function (key, item) {
alert(item.Designacao);
})
})
.fail(function (jqxhr, textStatus, error) {
alert(textStatus + " " + error);
});
Mon problème est que la demande JSONP me retourne AllWays une erreur
parsererror Error: jQuery20301899278084596997_1380125445432 was not called
J'ai cherché arround mais n'a pas trouvé une solution pour cela.
EDIT: j'oublié de mentionner que l'utilisation Fiddler les valeurs renvoyées semblent-tête correcte est de 200 et le contenu est un tableau JSON.
jsonp doit être traité côté serveur. où du côté serveur vous faites quelque chose comme ceci: 'return 'myCallBack (" + data + ");" '? –
@RoyiNamir est là de toute façon que je peux savoir quelle est la valeur de rappel automatique créée du côté serveur? – FabioG
Demande ["callback"] –