標籤:str get 頁面 content 後台 success pre logs 定義
1、後台擷取驗證位元組流,以字串的形式返回到前端。
public ActionResult GetValidateGraphic() { var validate = new ValidateCode(); var code = validate.CreateValidateCode(4); var image = validate.CreateValidateGraphic(code); Session["ValidateCode"] = code;//驗證碼添加到Session return Content(Convert.ToBase64String(image)); }
2、前台用ajax擷取
ChangeValidateCode: function () { $.ajax({ async: false, url: "/Login/GetValidateGraphic", success: function (data) { $(‘#yxValidateCode‘).attr(‘src‘, ‘data:image/png;base64,‘ + data); $(‘#bqfValidateCode‘).attr(‘src‘, ‘data:image/png;base64,‘ + data); $(‘#glValidateCode‘).attr(‘src‘, ‘data:image/png;base64,‘ + data); } }); }
這樣頁面上就可以顯示多個相同的驗證碼了。
那麼這是什麼呢?這是Data URI scheme。URI scheme是在RFC2397中定義的,目的是將一些小的資料,直接嵌入到網頁中,從而不用再從外部檔案載入。
我們可以直接將圖片寫入到html檔案中,這樣可以節省一個圖片的請求,缺點是瀏覽器無法緩衝此圖片。
ASP.NET 一個頁上需要顯示多個驗證碼