2011-12-17 66 views
0

在ajax下的post調用之後不會出現消息警報。AJAX調用each()和find()應用程序

鑑於以下Ajax調用:

var val= 1; 
$.post("ajax.php", { information: val }, function(result) 
{ 
    $(result).find("div").each(function() 
    { 
    if($(this).text()=="OK") 
     { 
     alert("OK"); 
     } 
    }); 
}); 

和ajax.php文件:

<?php 
if($_POST['information']==1) 
{ 
    ?><div>You must fill all the fields</div><?php 
    ?><div>The title must be between 10 and 30 characters</div><?php 
    ?><div>Please insert your email in the field</div><?php 
    ?><div id="answer">OK</div><?php 
} 
?> 

感謝您的幫助!

編輯:更正本尼發現的錯誤。更正後的語法和$(結果)語法

回答

1

在您的示例中,您有錯誤的$ .post語法。

$.post("ajax.php"), { information: $val }, function(result){ 
    // Callback code 
}); 

正確的語法是。

$.post("ajax.php", { information: $val }, function(result){ 
    // Callback code 
}); 

同樣使用$作爲$ val變量名稱的一部分是令人困惑的。它可以誘使開發人員認爲它與jQuery變量有關,即使它只是局部變量名稱的一部分。我會建議只做...

var val = 1; 
+0

我糾正了錯誤,但它也不起作用。我之前已經使用post方法..所以它可以。我的問題是:每個語法和查找函數是否正確寫入? – 2011-12-17 12:56:21

+0

我想你必須做$(result).find()而不是隻是result.find()。 – 2011-12-17 13:24:39

+0

感謝哥們,現在代碼正在運行(在代碼被破壞之前),但它看起來像該函數沒有找到「確定」。 – 2011-12-17 13:53:32