jquery ajax 無法獲取返回值問題
最近在做會員註冊這塊。用了jquery的 ajax 驗證使用者名稱。郵箱,驗證碼
function check_email()
{
var check_email = $("#reg_mail").val();
var reg = /^([a-zA-Z0-9_-])[email protected]([a-zA-Z0-9_-])+((/.[a-zA-Z0-9_-]{2,3}){1,2})$/;
flag = reg.test(check_email);
if(flag)
{
var email_value = $('#reg_mail').val();
$.get("[var.base_url]register.php",{check_name:"email",check_value:email_value,async:false},function(json){
//$('#res_mail').html(json);
if(json == "ok")
{
$('#res_mail').html("<font color='green' font-size='12'><b>此email可以註冊!</b></font>");
return true;
}else{
$('#res_mail').html("<font color='red' font-size='12'><b>此email已被註冊!</b></font>");
return false;
}
});
}else{
$("#res_mail").html("<font color='red' font-size='12'><b>請輸入正確的郵箱地址!</b></font>");
return false;
}
}
開始是這麼寫的。 可是總是無法獲取到返回的狀態true 或false 返回一個undefined 查了很多資料。csdn上的一個帖子很經典:
var boolean = false;
$.get(url,null,function(data)
{
//理解這個不難,只要你先知道jquery中的方法返回的都是jquery的物件或jquery指定的物件。
//jquery的get、post等ajax方法預設是非同步互動方式,所以在get方法還沒有執行完成的時候就已經return了,這時的bl就是你定義的bl = false;所以一直返回false;改成同步的應該有值了
//所以要想放回bl的正確值,你得改下get方法。一般不在ajax方法中做返回值處理。
//可以用$.data("bl", bl);儲存你的值,然後用$.data("bl")取值。
if(data.indexOf("true")>=0){
$("#mid").html("登陸成功");
bl = true;
$.data("bl", bl);
else {
$("#mid").html("使用者名稱或密碼錯誤");
bl = false;
$.data("bl", bl);
}
});
return bl;
這樣就可以獲取到返回的狀態了。用data方法 儲存 值。然後獲取。還有一個方法就是
$.get(url,{async: false},function(data) 設定傳輸方式為同步傳輸
最終修改函式如下。 測試ok。
function check_email()
{
var check_email = $("#reg_mail").val();
var reg = /^([a-zA-Z0-9_-])[email protected]([a-zA-Z0-9_-])+((/.[a-zA-Z0-9_-]{2,3}){1,2})$/;
flag = reg.test(check_email);
if(flag)
{
var email_value = $('#reg_mail').val();
$.get("[var.base_url]register.php",{check_name:"email",check_value:email_value,async:false},function(json){
//$('#res_mail').html(json);
if(json == "ok")
{
$('#res_mail').html("<font color='green' font-size='12'><b>此email可以註冊!</b></font>");
tamp_email = true;
$.data("tamp_email",tamp_email);
//$('#sub_reg').attr("disabled", false);
}else{
$('#res_mail').html("<font color='red' font-size='12'><b>此email已被註冊!</b></font>");
tamp_email = false;
$.data("tamp_email",tamp_email);
//$('#sub_reg').attr("disabled", true);
}
});
return tamp_email;
}else{
$("#res_mail").html("<font color='red' font-size='12'><b>請輸入正確的郵箱地址!</b></font>");
return false;
}
}
相關推薦
jquery ajax 無法獲取返回值問題
最近在做會員註冊這塊。用了jquery的 ajax 驗證使用者名稱。郵箱,驗證碼 function check_email() { var check_email = $("#reg_mail").val(); var reg = /^([a-zA-Z0-9_-])[emai
ajax回調函數回調無法獲取返回值
nbsp .json 開始 str error: != 註入 null ole function kakaajax(obj, callback) { //函數執行第一步傳入兩個參數(obj,callback(a))所以如果想在此處獲取 ajax的返回值沒門因為請求未發出
cordova_iFrame中呼叫拍照功能無法獲取返回值
問題描述: 今天寫了一個測試程式,在index.html中嵌入一個iFrame,並在iFrame中載入一個sub.html子頁面,然後在sub.html中呼叫cordova的拍照方法,拍照方法能呼叫成功,但是無法獲取到拍照回撥的值。 除錯過程: 一開始以為是cordova原
jquery ajax非同步 獲得返回值
<span style="font-size:24px;"><strong>使用ajax非同步到一般處理程式ashx</strong></span>$.
php jquery ajax 無法傳遞POST值的問題
做畢業設計從上週3開始,就遇到在表單頁面中將數庫傳到php處理頁面,無法接收到表單資料的問題。不管我怎麼除錯都不能把POST的值傳遞到php的處理頁面,我已經試了4天了,連今天是第五天,原來是問題出現在兩個方面: 1、mysqli_escape_String
JavaScript監聽、設定全部ajax訪問屬性獲取返回值(狀態碼)
JavaScript監聽、設定全部ajax訪問屬性(requestHeader)獲取返回值(狀態碼) 設定全部ajax訪問屬性 監聽全部ajax返回值(狀態碼) 設定ajax屬性(req
JQuery提交Form表單,獲取返回值
$.post("/Feedback/wtdata/save.do", $("#wdsform").serialize(), function(data){ alert(data.message); }
JQuery ajax 把後臺返回的List資料 遍歷出來 賦值給div
1、效果 2、前端程式碼 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-T
使用ajax時success無法得到返回值的問題
今天在使用ajax時,一直在除錯,請求路徑和資料都沒問題,但是就是得不到資料,很是疑惑 原始碼時這樣的 <script> $(document).ready(function(){ $('[type=button]').click(function
Ext.Ajax獲取返回值(引數)
本文轉載自:http://blog.csdn.net/dingherry/article/details/6798816 [javascript] view plain copy Ext.Ajax.request({
Jquery使用Ajax構建方法返回值
使用Jquery 非同步請求返回資料 function showLog(account_id){ var logss; var ajaxUrl="/tes"; $.ajax({
函式內部的 $.ajax() 獲取不到 ajax 的 return 返回值
/*常見錯誤示例 直接在 ajax 裡面return 結果 */ function demo(){ $.ajax({ url : 'test.do', type : "post", data : {},
php pdo調用SQLServer存儲過程無法獲取返回結果
image ges 寫法 調用存儲過程 csdn sqlserve procedure srv lan 確定存儲過程寫的沒問題,php調用後,跟蹤了語句,也是沒問題,就是獲取不到返回結果。折騰,搞定。 較之前明確了1. 調用存儲過程傳參的寫法; 2. 獲取返回結果集
java後臺發送請求並獲取返回值
otto wid eight quest 所有 ica 輸出流 lds thead 項目中需要前端發送請求給後端,而後端需要從另一個平臺中取數據然後再透傳給前端,通過下述代碼將其實現.在此記錄一下.package com.autotest.utils;import java
python執行系統命令後獲取返回值
這就是 () err div log system clas pri 命令 import os, subprocess# os.system(‘dir‘) #執行系統命令,沒有獲取返回值,windows下中文亂碼# result = os.popen(‘dir‘)
在批處理中調用VBScript(支持獲取返回值)
都是 exp sap net 什麽 api 獲得 鏈接 結果 有個帖子簡單介紹了利用mshta來調用vbs的方法(鏈接)。雖該文章作者認為 到此,在bat中使用vbs得到了完全解決。從此可以在bat和vbs間自由的航行了。 但任然無法獲取vbs的返回值,可見該方法有一定
C#異步執行帶有返回值和參數的方法,且獲取返回值
urn 利用 回調方法 ext col list ont mes gate 很多時候需要用到這些小知識點,做做筆記一起成長 下面是需要異步執行的方法 //獲取所有的郵件 private List<EmailModel> GetEmailOnl
Java調用Python腳本並獲取返回值
enum 獲取 error code adt catch sys.argv AI oot 在Java程序中有時需要調用Python的程序,這時可以使用一般的PyFunction來調用python的函數並獲得返回值,但是采用這種方法有可能出現一些莫名其妙的錯誤,比如Impor
PCB MS SQL跨庫執行SQL 獲取返回值
char AS span pre 必須 tno 執行 sql @param 一.SQL跨庫執行SQL 獲取返回值 DECLARE @Dblink nvarchar(100) DECLARE @sql nvarchar(MAX) DECLARE @layer
Ajax詳解及使用Ajax時的返回值類型有哪些?
itl use text 數據 .ajax ack 部分 $.ajax llb Ajax詳解 Ajax = 異步 JavaScript 和 XML。 Ajax 是一種用於創建快速動態網頁的技術。 通過在後臺與服務器進行少量數據交換,A