欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ajax請(qǐng)求data遇到的問題分析

 更新時(shí)間:2018年01月18日 08:49:21   投稿:laozhang  
本篇文章為大家分析了在ajax進(jìn)行數(shù)據(jù)請(qǐng)求的時(shí)候遇到的問題以及解決辦法,一起參考學(xué)習(xí)下。

使用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ì)腳本之家的支持。

相關(guān)文章

最新評(píng)論