ajax請(qǐng)求data遇到的問題分析
使用jquery,post請(qǐng)求data:那里要使用data:JSON.stringify(data)
$.ajax({ type:"POST", async : false, url:"../../gzq/circle/deleteTeam", dataType:"json", contentType:"application/json; charset=utf-8", data:JSON.stringify(c), success:function(data){ console.log(data); }, error:function(error){ console.log(error); } });
原因:事實(shí)上,假如不用JSON.stringify(data), 會(huì)變成字符串拼接,'name=vinxent&age=21',有點(diǎn)和get方法相像。若使用JSON.stringify(data),則會(huì)傳輸json對(duì)象--“{name;'vinxent', age:21}”
所以,在一般場(chǎng)景來(lái)說(shuō),get方法無(wú)需JSON.stringify,post方法需要。
angularJS請(qǐng)求得一些總結(jié)
$q延時(shí)加載的使用(angularJS中的promise)
.service('findXfzzShopInfo', ['$http', '$q', function($http, $q) { this.get = function(shopClassId, val) { var def = $q.defer(); $http({ url: '../../shop/findXfzzShopInfo?shopClassId=' + shopClassId + '&val=' + val, method: 'GET', cache: true }).then(function(resp) { def.resolve(resp.data); }).catch(function(err) { def.reject(err.data); }); return def.promise; }; }])
由于要進(jìn)行環(huán)境的判斷,將請(qǐng)求封裝為服務(wù),使用了$q的defer延時(shí)加載。
cache: true配置
當(dāng)請(qǐng)求內(nèi)容長(zhǎng)時(shí)間沒有變化時(shí),我們可以使用這個(gè)配置來(lái)緩存請(qǐng)求,減少服務(wù)器的壓力,提高頁(yè)面的速度,當(dāng)頁(yè)面關(guān)閉的時(shí)候可以清空這個(gè)緩存。而且cahe后面也可以配置時(shí)間。
當(dāng)請(qǐng)求為200的時(shí)候,你發(fā)現(xiàn)走的是失敗的函數(shù)
這里要講的不是配置responseType,而是我在get請(qǐng)求的時(shí)候后臺(tái)返回一個(gè)列表,當(dāng)有值的時(shí)候你會(huì)發(fā)現(xiàn)完全沒有問題,沒有值得時(shí)候后臺(tái)就什么都沒返回,而你的responseType是json,這時(shí)候就進(jìn)去了失敗的函數(shù),所以還是后臺(tái)坑了你,和后臺(tái)商量下空的時(shí)候也返回你一個(gè)對(duì)象就可以了。
以上就是我們本次整理的關(guān)于ajax請(qǐng)求中遇到的問題,大家在學(xué)習(xí)的時(shí)候如果還有任何不明白的可以在下方的留言區(qū)討論,感謝你對(duì)腳本之家的支持。
- jQuery+datatables插件實(shí)現(xiàn)ajax加載數(shù)據(jù)與增刪改查功能示例
- Servlet獲取AJAX POST請(qǐng)求中參數(shù)以form data和request payload形式傳輸?shù)姆椒?/a>
- FormData+Ajax實(shí)現(xiàn)上傳進(jìn)度監(jiān)控
- 利用 FormData 對(duì)象和 Spring MVC 配合實(shí)現(xiàn)Ajax文件下載功能
- vuejs使用FormData實(shí)現(xiàn)ajax上傳圖片文件
- jQuery.Ajax()的data參數(shù)類型詳解
- jQuery Ajax使用FormData上傳文件和其他數(shù)據(jù)后端web.py獲取
- 詳解ajax的data參數(shù)錯(cuò)誤導(dǎo)致頁(yè)面崩潰
相關(guān)文章
基于jquery實(shí)現(xiàn)的可以編輯選擇的下拉框的代碼
主要是通過CSS樣式表中clip來(lái)實(shí)現(xiàn)的。兼容IE6-8,谷歌,火狐等。2010-11-11jquery easyui combox一些實(shí)用的小方法
這篇文章主要介紹了jquery easyui combox一些實(shí)用的小方法,有需要的朋友可以參考一下2013-12-12通過jquery的$.getJSON做一個(gè)跨域ajax請(qǐng)求試驗(yàn)
jquery提供了$.getJSON的方法,讓我們可以實(shí)現(xiàn)跨域ajax請(qǐng)求,但jqueryAPI上的內(nèi)容實(shí)在太少,如何用$.getJSON,請(qǐng)求網(wǎng)站應(yīng)該返回怎樣的數(shù)據(jù)庫(kù)才能讓$.getJSON獲取到,下面我就用一個(gè)實(shí)際例子來(lái)說(shuō)明下。2011-05-05不定義JQuery插件 不要說(shuō)會(huì)JQuery
不定義JQuery插件,不要說(shuō)會(huì)JQuery,為什么這么說(shuō),請(qǐng)看下文2016-03-03jQuery清除定時(shí)任務(wù)的實(shí)現(xiàn)
jQuery中使用setInterval函數(shù)設(shè)置定時(shí)任務(wù),并通過clearInterval函數(shù)來(lái)清除這些任務(wù),從而避免資源浪費(fèi)或邏輯混亂,具有一定的參考價(jià)值,感興趣的可以了解一下2024-09-09最新最熱最實(shí)用的15個(gè)jQuery插件匯總
本文給大家匯總介紹了2015年7月最新發(fā)布的最熱最實(shí)用的15款jQuery插件,都有著非常炫酷的效果,十分的實(shí)用,這里推薦給大家。2015-07-07jquery插件實(shí)現(xiàn)鼠標(biāo)隱藏
這篇文章主要為大家詳細(xì)介紹了jquery插件實(shí)現(xiàn)鼠標(biāo)隱藏,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05JQuery中兩個(gè)ul標(biāo)簽的li互相移動(dòng)實(shí)現(xiàn)方法
這篇文章主要介紹了JQuery中兩個(gè)ul標(biāo)簽的li互相移動(dòng)實(shí)現(xiàn)方法,可實(shí)現(xiàn)ul標(biāo)簽中l(wèi)i標(biāo)簽內(nèi)容相互替換的技巧,涉及jQuery操作頁(yè)面元素的相關(guān)技巧,需要的朋友可以參考下2015-05-05setInterval,setTimeout與jquery混用的問題
當(dāng)遇到setInterval,setTimeout與jquery混用的問題 時(shí),直接按JavaScript中的語(yǔ)法寫并不起作用,有以下兩種解決方法2013-04-04