1 function callback(result) { 2 alert('cucess'); 3 alert(result); //輸出openid 4 } 5 6 function getQueryString(name) { 7 var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); 8 var r = window.location.search.substr(1).match(reg); 9 if (r != null) return unescape(r[2]); return null; 10 11 } 12 13 var code = getQueryString("code");
14 // 之后進行ajax
15 $.ajax({ 16 async: false, 17 url: "http://uuuuuu.php", //這是我的服務端處理文件php的 18 type: "GET", 19 //下面幾行是jsonp,如果去掉下面幾行的注釋,后端對應的返回結果也要去掉注釋 20 // dataType: 'jsonp', 21 // jsonp: 'callback', //jsonp的值自定義,如果使用jsoncallback,那么服務器端,要返回一個jsoncallback的值對應的對象. 22 // jsonpCallback:'callback', 23 data: {code:code}, //傳遞本頁面獲取的code到后台,以便后台獲取openid 24 timeout: 5000, 25 success: function (result) { 26 callback(result); 27 }, 28 error: function (jqXHR, textStatus, errorThrown) { 29 alert(textStatus); 30 } 31 });
這個方法的作用,獲取頁面中url參數的值:
1 function getQueryString(name) { 2 var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); 3 var r = window.location.search.substr(1).match(reg); 4 if (r != null) return unescape(r[2]); return null; 5 6 }
例如:
1 // ?name=123&age=234 頁面路徑 2 3 // r[0] &age=234 或 name=123& 4 // r[2] 123 5 // r[3] &