Jquery Ajax "Словарь параметров содержит пустую запись для параметра" error - PullRequest
0 голосов
/ 30 января 2020

Я столкнулся с проблемой с моим AJAX вызовом.

$.ajax({
  url: "/Admin/changeStudentPhoto/",
  type: "POST",
  data: {
    file: file1,
    filename: filename1,
    studentID: studentID1,
    x: x1,
    y: y1,
    w: w1,
    h: h1
  },
  success: function(data) {
    //do Stuff
  },
  error: function() {}
});

Он отправляет запрос этому контроллеру:

public JsonResult changeStudentPhoto(string file, string filename, int studentID, double x, double y, double w, double h) { 
  // More Stuff 
}

Дело в том, что, применяя Точка останова на вызове Я вижу, что параметры установлены правильно, я получаю ошибку 500 от контроллера, которая включает в себя ошибку:

Словарь параметров содержит пустую запись для параметра 'h' не Обнуляемый тип 'System.Double' для метода

Параметр Speci c на самом деле не имеет значения, до h это был studentID.

, который я обычно размещаю данные непосредственно в URL, но на этот раз мне нужно также передать строку base64, чтобы я не мог поместить ее в URL.

Заранее спасибо.

РЕДАКТИРОВАТЬ: Добавлены фотографии для пояснения

debugger

error

1 Ответ

0 голосов
/ 31 января 2020

Я изначально превратил свои данные в Json и создал модель для привязки. Это не сработало, хотя значение «h» будет показано как ноль.

Так что я в итоге округлил свои числа в js и передал их как целые числа. Это решило проблему.

Это неправильное решение, хотя, хотя в моем случае я могу работать с целыми числами, кому-то еще может понадобиться передать действительные числа с плавающей точкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...