場景:優惠券領取,用戶分爲兩種,1.沒有另過優惠券的;2.領過優惠券的;領過優惠券的又分爲當前優惠券是否過時。javascript
jQuery:
php
$("#btn-coupon").click(function(){ var busTeam =$(".busTeam").text().trim(); var account =$(".account").val(); $.ajax({ type:'POST', url:"xxxxxxxx", data:{ busTeam:busTeam, account:account }, cache:false, async:false, dataType: 'text', success:function(data){ //document.write(data);return false; alert(data); //document.write(data); }, error:function(data){ alert("領取失敗~"); } }); });
問題的解決過程:前端
最初:我將問題定位在了前端的代碼出錯,可是我並無 找到什麼看得見的錯誤,將須要傳遞的參數都輸出了,結果也是能夠輸出的。java
而後,再去找該ajax訪問的函數。ajax
找的方法是:在每一個小代碼塊的前頭 echo 1;exit;逐個代碼塊調查,而後鎖定在那一部分區域出問題,而後仔細檢查:async
發現是一個變量的前面多了一個$符號。函數
爲何會有時候能夠,有時候又不能夠呢?測試
緣由分析:url
該函數裏面的代碼是由多個if-else語句組成,訪問沒有問題的時候就是進入了,沒有語法錯誤的代碼裏。而訪問出錯時就是進入了語法不規範的代碼塊裏。code
我特意作了個測試:
1.
if(1){ echo 123; }else { $$m =0; } // 會輸出1,沒有任何錯誤提示
2.
if(1){ echo 123; }else { $$ }
報錯:
3.
if(0){ echo 123; }else { $$m =0; }
報警告提示: