8
我寫了一個函數,它必須檢查用戶名是否已被使用。現在,當我從另一個函數調用函數並提醒它返回值時:返回來自Jquery AJAX調用的響應
alert(checkusernameavailable('justausername'));
它說'未定義'。我搜索了高低,但無法找到我做錯了什麼。我想它應該只是在check.php中返回php-echo,但它不會。這是我寫的功能:
var checkusernameavailable = function(value) { $.ajax({ url: "check.php", type: "POST", async: false, cache: false, data: "username=" + value + "", success: function(response) { alert(response); return response; }, error: function() { alert('ajax error'); } }); }
我在做什麼錯?
謝謝你的回答,我明白了。但它並沒有解決我的問題。讓我解釋我想要進一步的一點。我從另一個函數中觸發checkusernameavailable函數,當我的表單提交時觸發它。所以我正在做的是: if(!checkusernameavailable(username_box.val())){ return false; //不要提交表格 //並使一些框變紅,取消隱藏多語言錯誤消息(其中 - btw--表示我無法直接將響應插入到我的html中...)} – 2010-10-08 11:21:38
@ user468893 - 請參閱我的編輯。您需要使您的Async AJAX調用同步。 – GenericTypeTea 2010-10-08 11:58:43
它已經是,但這不是訣竅:)返回值做了魔術。謝謝! – 2010-10-08 12:10:34