недопустимый примитив json что это

«Недопустимый примитив JSON» в обработке Ajax

Я получаю сообщение об ошибке в вызове ajax из jQuery.

Вот моя функция jQuery:

и это мой WebMethod :

Может кто-нибудь, пожалуйста, скажите мне, что не так в моем коде?

Я получаю эту ошибку:

ОТВЕТЫ

Ответ 1

Просто догадайтесь, что содержит переменная json после

Попробуйте вместо этого установить данные как строку

Таким образом, jQuery должен оставить только данные и отправить строку как есть на сервер, который должен позволить ASP.NET анализировать сторону json-сервера.

Ответ 2

в вышеприведенной ситуации я бы сработал.

Примечание. Вы должны добавить библиотеку json2.js, все браузеры не поддерживают этот объект JSON (IE7-) Разница между json.js и json2.js

Ответ 3

Ответ 4

работает что-то вроде этого

Ответ 5

Jquery Ajax по умолчанию отправит данные в виде параметров строки запроса, например:

если для параметра processData установлено значение false, и в этом случае оно будет отправлено как объект на сервер.

contentType параметр предназначен для сервера, в котором формат клиента отправил данные.

dataType параметр предназначен для сервера, который сообщает, что тип данных клиент ожидает от сервера.

Не указывайте contentType, чтобы сервер анализировал их как запрос Параметры строки не как json.

Использовать contentType как ‘application/json; charset = utf-8 ‘и использовать JSON.stringify(объект), чтобы сервер мог десериализовать json из строки.

Ответ 6

Я думаю, что @jitter был прав в своих предположениях, но его решение не сработало для меня.

Я не пробовал, но я думаю, что если параметром является строка, она должна быть такой:

Ответ 7

Я столкнулся с той же проблемой, что я пришел с хорошим решением, как показано ниже:

Обратите внимание, что здесь для параметра типа строки я использовал (\ ‘) символ escape-последовательности для обозначения его как строкового значения.

Ответ 8

Если вручную форматировать JSON, здесь есть очень удобный валидатор: jsonlint.com

Используйте двойные кавычки вместо одиночных кавычек:

Invalid:

Действительно:

Ответ 9

На сервере, чтобы Сериализовать /Deserialize json для настраиваемых объектов:

Ответ 10

Я была такая же проблема. Я звонил родительской странице «Сохранить» из всплывающего окна «Закрыть». Обнаружил, что я использовал ClientIDMode=»Static» как на родительской, так и на всплывающей странице с одинаковым контрольным идентификатором. Удаление ClientIDMode=»Static» с одной из страниц решило проблему.

Ответ 11

эти ответы просто заставили меня отскочить назад и вперед между недопустимым параметром и отсутствующим параметром.

это сработало для меня, просто оберните строковые переменные в кавычки.

Источник

«Недопустимый примитив JSON» при обработке Ajax

Я получаю сообщение об ошибке при вызове ajax из jQuery.

Вот моя функция jQuery:

А это мой WebMethod :

Кто-нибудь может сказать мне, что не так в моем коде?

Читайте также:  Что такое данные приложений на андроиде и что

Я получаю эту ошибку:

12 ответов

Угадайте, что содержит переменная json после

Вместо этого попробуйте установить данные как строку

Таким образом, jQuery должен оставить данные в покое и отправить строку как есть на сервер, что должно позволить ASP.NET анализировать серверную часть json.

Я считаю, что в приведенной выше ситуации сработало бы.

Примечание. Вам следует добавить библиотеку json2.js, все браузеры не поддерживают этот объект JSON (IE7-). Разница между json.js и json2.js

Это работает примерно так

JQuery Ajax по умолчанию отправляет данные в виде параметров строки запроса, например:

Если для параметра processData не задано значение false, в этом случае он будет отправлен на сервер как объект.

Параметр contentType предназначен для сервера, в котором клиент отправил данные в формате.

Параметр dataType предназначен для сервера, который сообщает, какой тип данных клиент ожидает ответа от сервера.

Не указывайте contentType, чтобы сервер анализировал их как параметры строки запроса, а не как json.

Используйте contentType как application / json; charset = utf-8 ‘и используйте JSON.stringify (объект), чтобы сервер мог десериализовать json из строки.

Я думаю, что @jitter был прав в своем предположении, но его решение не сработало для меня.

Вот что это сработало:

Я не пробовал, но думаю, что если параметр является строкой, он должен быть таким:

Я столкнулся с той же проблемой, я пришел с хорошим решением, как показано ниже:

Обратите внимание, что здесь для параметра строкового типа я использовал символ escape-последовательности (\ ‘) для обозначения его как строкового значения.

Если вы форматируете JSON вручную, здесь есть очень удобный валидатор: jsonlint.com

Используйте двойные кавычки вместо одинарных:

Инвалид:

Действителен:

На сервере для сериализации / десериализации json в пользовательские объекты:

Я была такая же проблема. Я вызывал родительскую страницу «Сохранить» из всплывающего окна «Закрыть». Обнаружено, что я использовал ClientIDMode=»Static» как на родительской, так и на всплывающей странице с одним и тем же идентификатором элемента управления. Удаление ClientIDMode=»Static» с одной из страниц решило проблему.

Эти ответы просто заставили меня подпрыгивать между недопустимым параметром и отсутствующим параметром.

Источник

«Недопустимый примитив JSON» при обработке Ajax

Я получаю сообщение об ошибке при вызове ajax из jQuery.

Вот моя функция jQuery:

а это мой WebMethod :

Кто-нибудь может сказать мне, что не так в моем коде?

Я получаю эту ошибку:

Просто угадайте, что json содержит переменная после

Если это действительный объект json, например, <'foo':'foovalue', 'bar':'barvalue'>jQuery может не отправлять его как данные json, а вместо этого сериализовать его, чтобы foor=foovalue&bar=barvalue вы получили ошибку «Invalid JSON primitive: foo»

Читайте также:  Что такое нострификация аттестата

Вместо этого попробуйте установить данные как строку

Таким образом, jQuery должен оставить данные в покое и отправить строку как есть на сервер, что должно позволить ASP.NET анализировать серверную часть json.

Я считаю, что в вышеуказанной ситуации сработало бы.

Примечание. Вам следует добавить библиотеку json2.js, все браузеры не поддерживают этот объект JSON (IE7-). Разница между json.js и json2.js.

это работает примерно так

JQuery Ajax по умолчанию отправляет данные в виде параметров строки запроса, например:

если для processData параметра не установлено значение false, и в этом случае он будет отправлен как объект на сервер.

contentType Опция предназначена для сервера, в каком формате клиент отправил данные.

dataType Параметр предназначен для сервера, который сообщает, какой тип данных клиент ожидает от сервера.

Не указывайте contentType, чтобы сервер анализировал их как параметры строки запроса, а не как json.

Источник

«Invalid JSON primitive» in Ajax processing

I am getting an error in an ajax call from jQuery.

Here is my jQuery function:

and this is my WebMethod :

Can anybody please tell me what’s wrong in my code?

I am getting this error:

12 Answers 12

Just a guess what does the variable json contain after

If it is a valid json object like <"foo":"foovalue", "bar":"barvalue">then jQuery might not send it as json data but instead serialize it to foor=foovalue&bar=barvalue thus you get the error «Invalid JSON primitive: foo»

Try instead setting the data as string

This way jQuery should leave the data alone and send the string as is to the server which should allow ASP.NET to parse the json server side.

in the above situation would have worked I believe.

Note: You should add json2.js library all browsers don’t support that JSON object (IE7-) Difference between json.js and json2.js

it’s working something like this

Jquery Ajax will default send the data as query string parameters form like:

unless the processData option is set to false, in which case it will sent as object to the server.

contentType option is for the server that in which format client has sent the data.

dataType option is for the server which tells that what type of data client is expecting back from the server.

Don’t specify contentType so that server will parse them as query String parameters not as json.

Источник

«Недопустимый примитив JSON» в обработке Ajax

Я получаю ошибку в вызове ajax от jQuery.

Читайте также:  Что такое игра скайрим

Вот моя функция jQuery:

а это мой WebMethod :

Кто-нибудь может сказать мне, что не так в моем коде?

Я получаю эту ошибку:

12 ответов

Просто угадайте, что содержит переменная json после

Попробуйте вместо этого установить данные в виде строки

Таким образом, jQuery должен оставить данные в покое и отправить строку как есть на сервер, который должен позволить ASP.NET анализировать серверную сторону json.

в приведенной выше ситуации, я полагаю, сработало бы.

Примечание: Вы должны добавить библиотеку json2.js все браузеры не поддерживают этот объект JSON (IE7-) Разница между json.js и json2.js

это работает примерно так

Jquery Ajax по умолчанию отправит данные в виде параметров строки запроса в виде:

если для параметра processData не установлено значение false, в этом случае он будет отправлен на сервер в качестве объекта.

опция contentType предназначена для сервера, в каком формате клиент отправил данные.

dataType опция предназначена для сервера, который сообщает, какой тип данных клиент ожидает от сервера.

Не указывайте contentType, чтобы сервер анализировал их как запрос Строковые параметры не как json.

Используйте contentType как ‘application/json; charset=utf-8’ и используйте JSON.stringify(object), чтобы сервер мог десериализовать json из строки.

Я думаю, что @jitter был прав в своей догадке, но его решение не сработало для меня.

Вот что это сработало:

Я не пробовал, но я думаю, что если параметром является строка, она должна быть такой:

Я столкнулся с той же проблемой, что и с хорошим решением, как показано ниже:

Обратите внимание, что здесь для параметра типа строки я использовал символ escape-последовательности (\’) для обозначения его как строкового значения.

Если вручную форматировать JSON, здесь есть очень удобный валидатор: jsonlint.com

Используйте двойные кавычки вместо одинарных:

Недействительный:

Действительный:

На сервере для сериализации/десериализации json в пользовательские объекты:

У меня была та же проблема. Я вызывал родительскую страницу «Save» из всплывающего окна Close. Обнаружил, что я использую ClientIDMode=»Static» как на родительской, так и на всплывающей странице с одним и тем же идентификатором элемента управления. Удаление ClientIDMode=»Static» с одной из страниц решило проблему.

эти ответы просто заставили меня прыгать взад и вперед между недопустимым параметром и отсутствующим параметром.

Похожие вопросы:

Хорошо, так что эта проблема возникает, когда я пытаюсь запустить свое приложение: Недопустимый примитив JSON:. public static void ReloadConfig() < if (!File.Exists(config.cfg)) < StringBuilder sb =.

Я пытался запустить скрипт, который извлекает файл JSON из конечной точки CMS и передает его по конвейеру в convertfrom-json. Но я получаю ошибку, говорящую о недопустимом примитиве JSON.

Источник

Портал знаний