摘要:概述前后端數(shù)據(jù)交互主要有兩種方式和。請求數(shù)據(jù)格式一般有以下幾種方式方案一不指定。請求數(shù)據(jù)對象且被編碼。告訴服務(wù)器從瀏覽器提交過來的數(shù)據(jù)格式。我這里顯式的指定,傳遞的數(shù)據(jù)對應(yīng)格式不對才會出現(xiàn)這種問題,這是傳遞的時(shí)候最好傳對象。
概述
前后端數(shù)據(jù)交互主要有兩種方式:get和post。其他restful風(fēng)格的請求數(shù)據(jù)格式本質(zhì)上都可以轉(zhuǎn)為這兩種形式,本文暫不討論。
網(wǎng)址輸入請求,超鏈接訪問等都是get請求,請求數(shù)據(jù)格式固定單一,都是附加在url后面,中文和非ASII字符需要和后端協(xié)定統(tǒng)一編碼,其他情況下如果參數(shù)形式拼接正確一般不會出問題。
post請求相對較復(fù)雜,本文重點(diǎn)論述。
post請求數(shù)據(jù)格式一般有以下幾種方式:
方案一不指定enctype。請求數(shù)據(jù)string(json格式)且數(shù)據(jù)沒被編碼。server端可以通過在controller方法中用Gson或者Jackson進(jìn)行正常解析。
不指定enctype。請求數(shù)據(jù)對象且被編碼。server端在controller方法中,需要通過stream reader方式獲取,然后解析成對象使用。有一次看到群里有人問請求數(shù)據(jù)亂碼,后端普通注解方式獲取不到數(shù)據(jù)對象,不知如何解析就屬于這種類型。 此種方法不推薦。
總結(jié)上述兩種都沒指定enctype,也沒手動編碼數(shù)據(jù)格式。(contentType默認(rèn): "application/x-www-form-urlencoded") 發(fā)送信息至服務(wù)器時(shí)內(nèi)容編碼類型。默認(rèn)值適合大多數(shù)應(yīng)用場合。告訴服務(wù)器從瀏覽器提交過來的數(shù)據(jù)格式。默認(rèn)contentType server端框架封裝處理好了,能通過getParameter或者注解方式正常獲取。我這里顯式的指定 contentType: "application/json; charset=utf-8",傳遞的數(shù)據(jù)對應(yīng)格式不對才會出現(xiàn)這種問題,這是傳遞的時(shí)候最好傳json對象。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/66612.html
摘要:概述前后端數(shù)據(jù)交互主要有兩種方式和。請求數(shù)據(jù)格式一般有以下幾種方式方案一不指定。請求數(shù)據(jù)對象且被編碼。告訴服務(wù)器從瀏覽器提交過來的數(shù)據(jù)格式。我這里顯式的指定,傳遞的數(shù)據(jù)對應(yīng)格式不對才會出現(xiàn)這種問題,這是傳遞的時(shí)候最好傳對象。 概述 前后端數(shù)據(jù)交互主要有兩種方式:get和post。其他restful風(fēng)格的請求數(shù)據(jù)格式本質(zhì)上都可以轉(zhuǎn)為這兩種形式,本文暫不討論。網(wǎng)址輸入請求,超鏈接訪問等都是...
摘要:實(shí)現(xiàn)流程創(chuàng)建對象打開請求地址,初始化數(shù)據(jù)發(fā)送請求數(shù)據(jù)監(jiān)聽回調(diào)函數(shù)狀態(tài)收到服務(wù)器返回的應(yīng)答結(jié)果。請求完成后回調(diào)函數(shù)請求成功或失敗時(shí)均調(diào)用。 Ajax在前端開發(fā)中有著舉足輕重的地位,關(guān)于Ajax的使用和注意事項(xiàng)一直是一個(gè)重要的話題,借此機(jī)會,本文希望對Ajax做一個(gè)全面的總結(jié),徹底揭開Ajax的神秘面紗。 一.什么是Ajax Ajax(Asynchronous JavaScript and...
摘要:在接收響應(yīng)期間持續(xù)不斷地觸發(fā)。在請求發(fā)生錯(cuò)誤時(shí)觸發(fā)。在通信完成或者觸發(fā)或事件后觸發(fā)。已經(jīng)接收到部分響應(yīng)數(shù)據(jù)?;跇?biāo)準(zhǔn)被廣泛支持。破壞程序的異常處理機(jī)制。 原文(我的GitHub):https://github.com/liangfengbo/frontend-ability/issues/1 學(xué)習(xí)大綱 理解Ajax的工作原理 Ajax核心-XMLHttpRequest對象 封裝Aja...
摘要:之所以不能跨域其實(shí)是因?yàn)槭艿酵床呗缘南拗疲荒茏屗L問同源下的數(shù)據(jù),不能訪問不同源下的數(shù)據(jù)同源策略每個(gè)網(wǎng)站只能讀取同一來源的數(shù)據(jù),這里的同一來源指的是主機(jī)名域名協(xié)議和端口號的組合。 一、Ajax的概念 Ajax是一種技術(shù)方案,但并不是一種新技術(shù)。它依賴的是現(xiàn)有的CSS/HTML/Javascript,而其中最核心的依賴是瀏覽器提供的XMLHttpRequest對象,是這個(gè)對象使得瀏...
摘要:性能會有所降低一點(diǎn)內(nèi)容,刷新整個(gè)頁面用戶的操作頁面會中斷整個(gè)頁面被刷新了就是能夠做到局部刷新三對象是中最重要的一個(gè)對象。頭信息已經(jīng)接收,響應(yīng)數(shù)據(jù)尚未接收。 一、什么是Ajax Ajax(Asynchronous JavaScript and XML) 異步JavaScript和XML Ajax實(shí)際上是下面這幾種技術(shù)的融合: (1)XHTML和CSS的基于標(biāo)準(zhǔn)的表示技術(shù) (2)DOM進(jìn)...
閱讀 2420·2021-09-22 15:15
閱讀 657·2021-09-02 15:11
閱讀 1800·2021-08-30 09:48
閱讀 1899·2019-08-30 15:56
閱讀 1509·2019-08-30 15:52
閱讀 2060·2019-08-30 15:44
閱讀 447·2019-08-29 16:29
閱讀 1552·2019-08-29 11:06