在和后台同事對接口的時候,有一個小問題一直困擾着我。那就是用ajax請求后台接口數據,
需要用data屬性傳值的時候,data屬性傳值的方式感覺沒有統一用一種方式。
后來仔細想想,其實哪種方式都可以,主要還是看你的個人習慣或者公司對這一塊是否有明確的用法規定。
以下是我把實際項目中看到的方式做了一個匯總——
①:屬性加引號
data: {"channelOrgCode":channelOrgCode}
②:屬性也可以不加引號
data: {channelOrgCode:channelOrgCode}
③:拼接數據(拼接數據就不用像上面包在{}里面了)
data:"page="+page+"&size="+size+"&startDate="+startDate+"&endDate="+endDate
④:組裝數據,然后賦值給一個變量,在用JSON.stringify()把js對象轉化為json字符串
var pList = [{id:productId,ptType:ptType,num:num}]; $.ajax({ url: "tdOrderController.do?addOrderItem", data: { pList: JSON.stringify(pList) }, type: "post", dataType: "json", success: function(d) { if (!d.success) { mui.toast(d.msg); return false; } else { carNum(); } } });
⑤:也可以把data賦值給一個變量,在用JSON.parse()將json字符串轉化為一個js對象
var dataTemp = { year: year, month: month, chooseNum: 1 }; $.ajax({ url: "tdMonthlyPlanCTConfirmController.do?approveMonthlyPlan", type: 'post', data: dataTemp, dataTpye:"json", success: function(data) { var d = JSON.parse(data); if (d.success) { mui.toast(d.msg); centerSearch(); } else { mui.toast(d.msg); return; } }, error: function() { tip("客戶端請求錯誤", 'error'); return false; } });
注:data不需要傳值的時候,data:{},就可以了。也可以不寫,但為了規范,最好還是寫上
附:JSON.parse()
和JSON.stringify()
介紹