У меня есть WebApi, для которого требуется строковый параметр. Я отправляю URL-адрес Api и параметры в виде viewbag из действия, чтобы я мог повторно использовать представление для нескольких WebApis
My controllerAction
public ActionResult PreviousQuestions(String exam = "", int Number = 0)
{
ViewBag.uri = "/api/pmp/GetNumberofQuestionByExam";
ViewBag.param = "{ Number: " + Number + ",Exam:\"First Term\"}";
return View();
}
Мой вид изнутри JavaScript
$(document).ready(function () {
var uri ='@ViewBag.uri'; //Problem is here
var param = @ViewBag.param;
$.ajax({
url: uri,
type: 'GET',
data: param,
dataType: 'json',
success: function (data, textStatus, xhr) {
}
});
Web Api
public List<QuestionViewModel> GetPreviousQuestion(int Number, string Exam = "")
{
}
Моя проблема в том, что мои параметры преобразуются в
var param = { Number: 5,Exam:"First Term"};
, что приводит к ошибке. Iзнаю, что это глупо, и я что-то упускаю или что-то вроде создания JSON в действии .. кто-то может предложить
JSON.parse(data.replace(/"/g,'"'));
не будет работать