var dataToSend = '@Html.Raw(Json.Encode(Model.PageInput))';
мои dataToSend
содержат данные ниже:
"{"id":"1","name":"stackoverflow","count":25}"
Как я могу получить доступ к данным?
Я пробовал следующее:
alert(dataToSend.id)
или
alert(dataToSend[0].id)
или
alert(dataToSend[1].id)
Все выходы: undefined
не работает. Но почему?!!!
заменить:
var dataToSend = '@Html.Raw(Json.Encode(Model.PageInput))';
с:
var dataToSend = @Html.Raw(Json.Encode(Model.PageInput));
(это должен быть object
, а не string
)
а затем попробуйте:
dataToSend.name
PS:
вы также можете анализировать строки в json с помощью javascript.
строка> json:
var obj = JSON.parse(str);
json> string:
var str = JSON.stringify(obj);
надеюсь, это поможет.
ваши dataToSend
- это строка, поэтому она не будет доступной,
вы можете попробовать
var dataToSend = @Html.Raw(Json.Encode(Model.PageInput));
поскольку результат будет отображаться как JSON до того, как он попадет к клиенту.
или вы можете использовать библиотеку JSON и делать
var dataToSend = JSON.parse('@Html.Raw(Json.Encode(Model.PageInput))');