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] &