0
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

動作しません。しかし、なぜ?!!!

4

2 に答える 2

2

交換:

var dataToSend = '@Html.Raw(Json.Encode(Model.PageInput))';

と:

var dataToSend = @Html.Raw(Json.Encode(Model.PageInput));

object( ではなく である必要がありますstring)

そして試してください:

dataToSend.name

PS:

また、JavaScript を使用して文字列を json に解析することもできます。

文字列 > json:

var obj = JSON.parse(str);

json > 文字列:

var str = JSON.stringify(obj);

それが役立つことを願っています。

于 2013-10-22T11:04:43.480 に答える
1

あなたdataToSendは文字列なので、利用できません。

あなたは試すことができます

var dataToSend = @Html.Raw(Json.Encode(Model.PageInput));

結果は、クライアントに到達する前に JSON としてレンダリングされるためです。

または、JSON ライブラリを使用して実行することもできます

var dataToSend = JSON.parse('@Html.Raw(Json.Encode(Model.PageInput))');
于 2013-10-22T11:05:10.673 に答える