У меня есть простой ApiController я тестирование:JQuery Ajax вызов веб-API .NET возвращает ошибку
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;
}
}
}
А на стороне клиента, я звоню это из другого домена
$.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);
});
Моя проблема заключается в том, что запрос JSONP это возвращение мне ВСЕГДА ошибку
parsererror Error: jQuery20301899278084596997_1380125445432 was not called
Я был поиск Arround, но до сих пор не нашел решение для этого.
EDIT: Я забыл упомянуть, что с помощью скрипача возвращаемых значений кажутся правильный заголовок 200 и содержимое представляет собой массив JSON.
jsonp следует обрабатывать со стороны сервера. где на стороне сервера вы делаете что-то вроде этого: 'return 'myCallBack (" + data + ");"? –
@RoyiNamir есть все равно, что я могу знать, что такое автоматическое значение обратного вызова, созданное на стороне сервера? – FabioG
Request ["callback"] –