簡體   English   中英

是否有必要將請求數據作為 JSON 字符串傳遞給服務器

[英]Is it necessary to pass request data as JSON string to server

向服務器(可能是 Java、PHP 等)發出 AJAX 請求時,是否需要將數據作為 JSON 字符串傳遞?

我們不能直接傳遞對象嗎? 是否存在反序列化問題或可以在后端處理的問題? 在后端處理 JS 對象(如果可以直接發送 obj)的任何示例都會很棒?

對象字面量僅在 JavaScript 運行時環境中有意義。 由於 AJAX 正文只是一個字符串,因此您可以將{a:3}傳遞給服務器。 但是服務器端應該怎么做呢? 它當然可以將其存儲在數據庫中,並在需要時返回給您。 但是如果它想從中提取一些數據呢? 您必須擁有 JS 運行時並使用eval評估對象。 這會很尷尬,但可能。 但是,並非所有服務器都有 JS 運行時環境。 而有許多語言的庫支持將 JSON 解析為特定於服務器上語言的表示。

AJAX 請求以與任何其他 HTTP 請求相同的方式將數據傳遞到服務器。 最常見的是,AJAX 請求使用 POST 並將數據作為 POST 數據傳遞到服務器,但經常使用查詢字符串,還有其他方法可以使用 HTTP 和 AJAX 將數據傳遞到服務器。

本質上,所有 HTTP 數據都是八位字節(字節),並且 HTTP 沒有特別支持 JavaScript 對象的序列化,因此您或您使用的庫和/或框架必須處理序列化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM