從this網站,我瞭解到接受JSON的ASP.NET腳本服務實際上要求它們是序列化的JSON字符串(請參閱:「JSON,對象和字符串:哦,我的!」部分的鏈接)。有沒有一種快速簡單的方法來將它們序列化爲客戶端上的ASP.NET AJAX消費,而不是嘗試將一堆現有對象手動轉換爲JSON外觀的字符串?JSON在客戶端用於ASP.NET腳本服務的字符串?
在此先感謝!
從this網站,我瞭解到接受JSON的ASP.NET腳本服務實際上要求它們是序列化的JSON字符串(請參閱:「JSON,對象和字符串:哦,我的!」部分的鏈接)。有沒有一種快速簡單的方法來將它們序列化爲客戶端上的ASP.NET AJAX消費,而不是嘗試將一堆現有對象手動轉換爲JSON外觀的字符串?JSON在客戶端用於ASP.NET腳本服務的字符串?
在此先感謝!
您可以使用JSON.stringify()來serialize client-side objects for consumption in ASP.NET's Script Services。
使用該方法,您可以非常輕鬆地將客戶端對象映射到服務器端對象。 ASP.NET會自動處理將JSON轉換爲對象(甚至是對象的集合)。
文章編寫器令Javascript對象與JSON字符串混淆。沒有像「JSON對象」這樣的東西。
當然,如果您嘗試將對象發送到Web服務,則必須對其進行序列化,因爲請求數據只能包含文本而不能包含對象。序列化數據的標準方式是URL編碼,所以這就是jQuery的功能。
JavaScript或jQuery中沒有內置JSON序列化。你將不得不自己做序列化或找到一個庫。這裏有一些選擇:Serializing to JSON in jQuery
此外,在本例中發送的數據是無效的JSON。它看起來像這樣:
"{'fname':'dave', 'lname':'ward'}"
爲了有效的JSON它應該是這樣的:
'{"fname":"dave", "lname":"ward"}'
爲什麼downvote?如果你不解釋你認爲是錯誤的,它不能改善答案。 – Guffa
Upvoted抵消downvote。感謝您添加更多解釋。 – Ocelot20