У меня есть контроллер CustomerController
апи, который возвращает клиентов данные:JQuery Ajax вызов ASP.NET MVC API возвращает ошибку
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
using CustomerMngmt.Models;
namespace CustomerMngmt.Controllers
{
public class CustomersController : ApiController
{
private readonly Customer[] _customer =
{
new Customer
{
Id = 1,
firstName = "Florian",
lastName = "Hofmeister",
emailAddress = "[email protected]",
company = "Germany",
pictureURL = "......jpg"
},
new Customer
{
Id = 2,
firstName = "Svenja",
lastName = "Hofmeister",
emailAddress = "[email protected]",
company = "Germany",
pictureURL = "......jpg"
},
new Customer
{
Id = 3,
firstName = "Marvin",
lastName = "Hofmeister",
emailAddress = "[email protected]",
company = "Germany",
pictureURL = "......jpg"
}
};
public IEnumerable<Customer> GetAllCustomers()
{
return _customer;
}
public Customer GetCustomerById(int id)
{
var customer = _customer.FirstOrDefault(c => c.Id == id);
return customer;
}
}
}
А потом загружать данные в JavaScript с:
function loadCustomer() {
jQuery.support.cors = true;
$.ajax({
url: 'http://localhost:54172/api/customers',
type: 'GET',
dataType: 'json',
data:{},
success: function (data) {
for (var i = 0; i < data.length; i++) {
var customer = new customer(
'1',
data[i].id,
data[i].firstName,
data[i].lastname,
data[i].companyName,
data[i].emailAddress,
data[i].pictureURL);
self.customers.push(customer);
}
},
error: function (x, y, z) {
alert(x + '\n' + y + '\n' + z + "TEST");
console.log(x + '\n' + y + '\n' + z + "TEST");
}
});
}
и мой проблема в том, что функция не загружает элементы из контроллера. Вместо этого я получаю сообщение об ошибке [object Object]errorTEST
.
Я не вижу ничего плохого в вашем API. Попробуйте изменить 'url' на' url: '/ api/customers''. – Groyoh
Ваши вызовы API идут хорошо? –
Проверьте вкладку вашей сети на консоли, чтобы увидеть фактический ответ и ошибку. – tymeJV