![](/img/trans.png)
[英]How to pass JSON data from server to client side and use the data in Javascript?
[英]How to pass json string generated on server side and use it as aparameter in javascript on client side in MVC
大家好,這是我的第一個問題!
所以基本上我想將序列化的數組從服務器端傳遞到客戶端,然后將其用作JS中的參數。 目前,我通過viewModel將其作為常規字符串發送,並嘗試通過使用@ Html.Raw()進行注入,如下所示,但它不起作用:
var table = $('#shipments').dataTable({
"bServerSide": true,
"sAjaxSource": "GetShipmentsAH",
"bProcessing": true,
"bJQueryUI": true,
"fnCreatedRow": function (nRow, aData, iDataIndex) {
$(nRow).attr('shipID', aData[0]);
},
"aoColumns": @Html.Raw(Model.ShipmentsAoColJSon);
});
這是Model.ShipmentsAoColJSon的值:
[{ “SNAME”: “ID”, “sDefaultContent”: “”, “bSortable”:真 “bSearchable”:真 “SSEARCH”: “”},{ “SNAME”: “EAN”, “sDefaultContent”: “”, “bSortable”:真 “bSearchable”:真 “SSEARCH”: “”},{ “SNAME”: “串行”, “sDefaultContent”: “”, “bSortable”:真 “bSearchable”:真“SSEARCH”: “”},{ “SNAME”: “NR”, “sDefaultContent”: “”, “bSortable”:真實的, “bSearchable”:真實的, “SSEARCH”: “”},{ “SNAME”: “StoreUnitNr”, “sDefaultContent”: “”, “bSortable”:真實的, “bSearchable”:真實的, “SSEARCH”: “”},{ “SNAME”: “FCODE”, “sDefaultContent”: “”, “bSortable” :真正的 “bSearchable”:真實的, “SSEARCH”: “”},{ “SNAME”: “ProdDesc”, “sDefaultContent”: “”, “bSortable”:真實的, “bSearchable”:真實的, “SSEARCH”:” “}]
當我只是復制粘貼它直接編碼時,它可以正常工作。 有任何想法嗎?
我發現了問題的根源。 當我直接將腳本粘貼粘貼到工作的html標記中時,腳本存儲在外部.js文件中。 似乎@Html剃須刀只能在主要的HTML頁面上使用,而不能在js文件中使用。 為了解決這個問題,我在HTML中寫了這個:
var ShipAoColJSon = @ Html.Raw(Model.ShipAoColJSon);
然后將其傳遞給js。 文件:
var table = $('#shipments').dataTable({
"bServerSide": true,
"sAjaxSource": "GetShipmentsAH",
"bProcessing": true,
"bJQueryUI": true,
"fnCreatedRow": function (nRow, aData, iDataIndex) {
$(nRow).attr('shipID', aData[0]);
},
"aoColumns": ShipAoColJSon
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.