2017-01-14 3 views
0

Я пытаюсь создать веб-службу ASP.NET MVC, в которой я пытаюсь выполнить POST-вызов в javascript, используя jQuery ajax, как показано ниже.POST-вызов с использованием jquery AJAX не работает

$.ajax({ 
     url: "/bug/CreateBug", 
     type: "POST", 
     data: rowData, 
     contentType: "application/json", 
     datatype: "json", //return type 
     success: function (data) { 
      console.log(data); 
     }, 
     error: function (xhr) { 
      alert('error'); 
     } 
    }); 

Я продолжаю получать ошибку TypeError: e is undefined. Я попытался добавить оператор журнала непосредственно перед этим вызовом ajax, и все работает нормально. Не уверен, что я пропустил. Мой rowData выглядит примерно так.

{ 
    "Date": "2016-12-31", 
    "Id": "1234-csj4-sadf-random", 
    "Scenario": "abc", 
    "IsFixed": "No" 
} 

Мои C# код в контроллере выглядит как этот

[HttpPost] 
public JsonResult CreateBug(string jsonRequest) 
{ 
    var bugId = GetBugId(jsonRequest); 

    return this.Json(bugId, JsonRequestBehavior.AllowGet); 
} 

Я пытался проверить выше вызов POST с помощью Postman и я получил jsonRequest в null. Может ли кто-нибудь помочь мне здесь, как я могу получить запрос POST?

Заранее благодарен!

+0

попробовать 'данных: JSON.stringify (ROWDATA)' – ibubi

+0

вы можете попробовать JSON.stringify (ROWDATA) –

+0

опубликовал обновленный код плз, дайте мне знать, если он работает –

ответ

1
try it hope it works 
    $.ajax({ 
    url: "/bug/CreateBug", 
    type: "POST", 
    data: JSON.stringify(rowdata), 
    contentType: "application/json", 
    datatype: "json", //return type 
    success: function (data) { 
     console.log(data); 
    }, 
    error: function (xhr) { 
     alert('error'); 
    } 
    }); 

------ на контроллере сделать что-то вроде этого или лучшего подхода заключается в создание модели со всей этой собственностью и MVC будет связывать его для вас.

[HttpPost] 
    public JsonResult CreateBug(string Id, string Date, string IsFixed , string Scenario) 
{ 
    var bugId = GetBugId(jsonRequest); 

    return this.Json(bugId, JsonRequestBehavior.AllowGet); 
} 
+0

Да, это теперь делает вызов контроллера MVC , но я все еще получаю 'jsonRequest' как' null' в контроллере. – SohamC

+0

@SohamC обновленный ответ, пожалуйста, посмотрите, если у вас все еще есть проблема, дайте мне знать. –

+0

@SohamC если ваша проблема исправлена, пожалуйста, обновите? –

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