在和後臺同事對接口的時候,有一個小問題一直困擾着我。那就是用ajax請求後臺接口數據,須要用data屬性傳值的時候,data屬性傳值的方式感受沒有統一用一種方式。javascript
後來仔細想一想,其實哪一種方式均可以,主要仍是看你的我的習慣或者公司對這一塊是否有明確的用法規定。如下是我把實際項目中看到的方式作了一個彙總——html
①:屬性加引號java
data: {"channelOrgCode":channelOrgCode}
②:屬性也能夠不加引號ajax
data: {channelOrgCode:channelOrgCode}
③:拼接數據(拼接數據就不用像上面包在{}裏面了)json
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對象app
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()
介紹
post