1. 程式人生 > >weiphp4.0 html ajax post請求的使用

weiphp4.0 html ajax post請求的使用

感想

最近要做一個使用者點選之後,後臺做許可權檢查判斷,判斷完後,然後再做頁面跳轉的操作,然後我用的是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