weiphp4.0 html ajax post請求的使用
阿新 • • 發佈:2018-11-27
感想
最近要做一個使用者點選之後,後臺做許可權檢查判斷,判斷完後,然後再做頁面跳轉的操作,然後我用的是javascript的ajax來做的,發現了不少的坑。
我的html程式碼為:
<div class="submitBox">
<button class="lead_btn" id='btn1'>問卷入口</button>
</div>
javascript程式碼為:
var btn1= document.getElementById("btn1"); var idValue = "{$info.id}"; // 提交的URL var postUrl = "{: U('check', ['wpid' => WPID])}"; var target_url="{:U('singleSurvey','id='.$info[id])}"; btn1.onclick = function(){ $.ajax({ type: "POST", url: postUrl, data: {id:idValue}, success: function(data_return){ data=eval("("+data_return+")"); //這裡解析json的時候有時候要用這種操作 // alert(ajaxobj['status']); if(data.status == 1) { / alert(data.msg); // window.close(); window.location.href =target_url; // window.reload(); } else if(data.status == 0) { alert(data.msg); window.reload(); } } }); }
注意:
假設返回的json資料裡有status及info2個屬性 有時候可以直接ajaxobj.status或者ajaxobj["status"]去訪問 但有時候,卻要通過eval()或者 $.parsejson();才可以通過ajaxobj.status訪問,而且這種情況下,需要是complete而不是success ajaxobj=eval("("+data+")");
詳情,請見我的參考文獻第二條
controller.class.php的程式碼為:
/** * 在index頁面檢查,該使用者所屬院系是否合法 */ function check(){ if(IS_POST) { // 問卷id $survey_id = I('post.id'); // jsonReturn(0, $survey_id, null); $uid = get_uid_by_openid(); $this->checkDepartment($uid,$survey_id); jsonReturn(1, '調研開始', null); } }
參考文獻
[1].jQuery簡單的Ajax呼叫示例.http://www.cnblogs.com/GarfieldTom/p/4277708.html
[2].Jquery ajax方法解析返回的json資料.https://www.cnblogs.com/fenglie/articles/5010254.html
[3].使用onclick跳轉到其他頁面/跳轉到指定url.https://www.cnblogs.com/JuneZhang/archive/2010/11/25/1887575.html