Невозможно получить JSON от JQuery ajax вызов

Во-первых, это не будет ошибкой C # в любом случае - это будет ошибка .NET. C # - это язык - он не решает, как реализован Math.Round.

И, во-вторых, no - если вы читаете документы , вы увидите, что округление по умолчанию (округление до округления):

Возвращаемое значениеType: System.DoubleThe целое число, ближайшее a. Если дробная составляющая a находится на полпути между двумя целыми числами, одна из которых четная, а другая нечетная, то четное число возвращается. Обратите внимание, что этот метод возвращает Double вместо целочисленного типа.

Замечания. Поведение этого метода следует за стандартом IEEE 754, раздел 4. Этот вид округления иногда называется округлением до ближайшего или округления банкира.

blockquote>

Вы можете указать, как Math.Round должен округлить средние точки, используя перегрузку , чтобы избежать ошибки округления, которая возникает из-за постоянного округления среднего значения в одном направлении. который принимает значение MidpointRounding . Существует одна перегрузка с MidpointRounding, соответствующей каждой из перегрузок, которая не имеет одного:

Выполняется ли это по умолчанию был хорошо выбран или нет, это другое дело. (MidpointRounding был введен только в .NET 2.0. До этого я не уверен, что есть простой способ реализовать желаемое поведение, не делая этого самостоятельно.) В частности, история показала, что это не ожидаемый / g12] - и в большинстве случаев это кардинальный грех в дизайне API. Я вижу , почему Rounding Banker полезен ... но это все еще сюрприз для многих.

Вам может быть интересно взглянуть на ближайшее эквивалентное перечисление Java ( ] RoundingMode ), который предлагает еще больше возможностей. (Это касается не только средних точек.)

10
задан Ijas Ameenudeen 18 January 2019 в 10:28
поделиться

1 ответ

Вот несколько предложений, которые я попробовал бы:

1) опция 'типа данных', которую Вы указали, должна быть 'типом данных' (чувствительный к регистру, я верю),

2) попытайтесь использовать 'contentType' опцию в качестве так:

contentType: "application/json; charset=utf-8"

Я не уверен, какому количеству это поможет, поскольку это привыкло в запросе к Вашему URL сообщения, не в ответе. См. эту статью для большего количества информации: http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax (Это записано для asp.net, но может быть применимо),

3) Трижды проверьте вывод своего URL сообщения и выполните вывод через блок проверки допустимости JSON только, чтобы быть абсолютно уверенными, что это допустимо и может быть проанализировано в объект JSON. http://www.jsonlint.com

Надеюсь, что часть этого помогает!

19
ответ дан 3 December 2019 в 19:36
поделиться