2016-04-10 2 views
0

Я пытаюсь отправить запрос ajax из внешнего файла JavaScript в ASP.NET MVC. Я получаю 500. Что я делаю неправильно?Отправка запроса Ajax из внешнего файла javascript в ASP.NET MVC

Ajax вызова (из внешнего файла JS)

$.ajax({ 
    type: "POST", 
    url: '/Home/AjaxEndpoint', 
    data: { jsonData: "testing" }, 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: successFunc, 
    error: errorFunc 
}); 

контроллер Действие Метод (Это должно быть поймать запрос)

public class HomeController : Controller 
{ 
    // GET: Home 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    [HttpGet] 
    public void AjaxEndpoint() 
    { 
     var thing = 1 + 2; 
    } 

    // AJAX endpoint for GetProducts.js 
    [HttpPost] 
    public void AjaxEndpoint(string jsonData) 
    { 
     var thing = 1 + 2; 
    } 

} 

Ошибка я получаю enter image description here

+1

Вы должны поставить свой код в вопросе, а не его изображения. И удалите параметр contentType (не строгая данные) –

+0

Пожалуйста, не редактируйте вопрос с ответом (я его удалил). Добавьте свой собственный ответ и примите его, чтобы закрыть это. –

+0

Если у вас есть предлагаемое решение, такое как «удалить параметр contentType», создайте ответ, чтобы я мог его принять, а не хоронить его в комментариях к вопросу. – Captainlonate

ответ

1

вам необходимо либо удалить параметр contentType

$.ajax({ 
    type: "POST", 
    url: '/Home/AjaxEndpoint', 
    data: { jsonData: "testing" }, 
    dataType: "json", 
    success: successFunc, 
    error: errorFunc 
}); 

или в качестве альтернативы, stringify данные

$.ajax({ 
    type: "POST", 
    url: '/Home/AjaxEndpoint', 
    data: JSON.stringify({ jsonData: "testing" }),// modify 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: successFunc, 
    error: errorFunc 
}); 
0

Ваш Аякса вызов должен быть в ActionResult в контроллере, контроллер выполняет и возвращает данные на страницу

[HttpPost] 
    public ActionResult ajaxcall(string ids) 
    { 
     String Data = code to perform 
     return Json(Data); 
    } 

это основная идея. Javascript делает вызов и использует данные JSON, возвращаемые на странице клиентов

Смежные вопросы