嘗試:
$.ajax({
url: '/Controller/ActionName',
data: { items: JSON.stringify(list) }
});
我已經試過以下選項:
<script type="text/javascript">
var list = [
{ id: 1, name: 'Charles' },
{ id: 8, name: 'John' },
{ id: 13, name: 'Sally' }
];
function run(){
$.ajax({
url: 'default.aspx',
data: { items: JSON.stringify(list) }
});
return false;
}
function run2() {
$.ajax({
url: 'default.aspx',
data: { items: list }
});
return false;
}
function run3() {
$.ajax({
url: 'default.aspx',
data: { items: list },
processData: false
});
return false;
}
function run4() {
$.ajax({
url: 'default.aspx',
data: list
});
return false;
}
</script>
運行1:Default.aspx的項目=%5B%7B%22id%22%3A1%2C %22name%22%3A%22Charles%22%7D%2C%7B%22id%22%3A8%2C%22name%22%3A%22John%22%7D%2C%7B%22id%22%3A13%2C%22name %22%3A%22Sally%22%7D%5D
Querystring [「items」] ='[{「id」:1,「name」:「Charles」},{ 「id」:8,「name」:「John」},{「id」:13,「name」:「Sally」}]'
運行2:default.aspx?items%5B0%5D% 5Bid%5D = 1 & items%5B0%5D%5Bname%5D = Charles & items%5B1%5D%5Bid%5D = 8 & items%5B1%5D%5Bname%5D = John & items%5B2%5D%5Bid% 5D = 13 &項%5B2%5D%5Bname%5D =薩利
項[0] [ID] 1
項[0] [名稱]查爾斯
項[1] [ID ] 8
項[1] [名稱]約翰
項[2] [ID] 13
項[2] [姓名]薩利
試驗3:Default.aspx的[對象%20Object]
[對象的對象]
試驗4:查爾斯的Default.aspx =未定義&約翰=未定義&薩利=未定義
請求[ 「查爾斯」] = '未定義'
請求[ 「約翰」] = '未定義'
請求[ 「薩利」] = '未定義'
現在從OP,我認爲運行1是必需的選項,因爲他想在服務器端處理JSON字符串?
ü需要把它轉換成字符串(JSON格式),然後將它張貼 – vinothkr 2010-11-15 08:23:50
我如何做到這一點?我認爲下面的'djch'試圖在下面顯示這個,但是使用'stringify',我假設它來自外部庫。必須有內置到jQuery或JavaScript來做到這一點? – Jimbo 2010-11-15 08:40:32
使用$ .post。 $ .ajax使用GET,這意味着沒有請求主體。 JSON不能放入查詢字符串中,它必須放在正文中。 – RPM1984 2010-11-15 09:05:51