今天要弄一個登入的功能
作法是html去作js檔裡面的Login函式
有問題的地方是在作Login函式時,會再透過ajax去送data給cgi作id與passwd的判斷
javascript的ajax程式碼如下所示:(擷取部分)
/////////////////////////////////////////////////////////////////////////////////
var url_Cgi="./cgi-bin/login.cgi";
var TransData = String.format("username={0}&password={1}",
UserName, Password);
$.ajax({
url: url_Cgi,
type: 'GET',
async: false,
data: TransData,
error: function()
{
AlertNetworkError();
},
success: function(result)
{
if(result == login_success)
{
location = "main.html";
}
else
{
ShowAlert(result) );
}
}
送過去的data可以知道是ajax的data部分,ajax會呼叫cgi程式,並把要送到cgi的字串帶到login.cgi的後面(例如login.cgi?username=danny&password=0000)
今天遇到的問題就是cgi怎麼把值回傳給ajax的result
原本以為cgi程式那邊的return值會傳給ajax的result,原來我的想法是錯的
cgi如果要想傳值給ajax的result,其實只需在程式裡面作下面的程式碼:
printf("Content-type:text/html\n\n");
printf("login_success");
這樣子作,ajax那邊拿到的result值就會是"login_success"了!
沒有留言:
張貼留言