简单的jquery和php问题

时间:2011-09-23 09:20:03

标签: php jquery ajax

有谁知道为什么这不起作用?任何帮助,将不胜感激。

这是HTML

Enter Code:<br/><input type="text" name="code" id="code"/><br/> 
<input type="button" id="confirm" value="Confirm" onClick="confirm()"/> 

这是PHP (基本上获取用户输入的值,如果它等于变量echo成功)

$code = $_POST["code"]; 
$a = 105678; 
if($code==$a){ 
  echo "sucess"; 
} else { 
  echo "nosucces"; 
} 

JavaScript (简单的ajax代码,用于提醒PHP成功或不成功)

function confirm () { 
  $.post(
    "confirm.php",
    {code:$(this).val() },
    function(data) { 
      if(data=='sucess') { 
        alert("yay"); 
      } else { 
        alert("nay");
      } 
    }
  ); 
}

基本上在所有情况下输出都是nay进一步调试我在javascript上尝试了一个elseif语句,询问数据是否等于nosucces但它甚至没有提醒任何东西,这意味着它没有从php获取数据

3 个答案:

答案 0 :(得分:3)

    $(document).ready(function() {
    $('#confirm').click(function() {
        $.post("",{code:$('#code').val() } ,function(data)
        {
            if(data=='sucess')
            {
                alert("yay");
            }
            else
            {alert("nay");}
        });
    });
});

答案 1 :(得分:0)

在结尾处给出括号,以便它确实理解您正在调用函数,也不要使用confirm作为函数名,它是本机JS函数,而是使用my_confirm

onClick="my_confirm()"

$(this).val()也不适用于你的情况下使用$('#code').val()

答案 2 :(得分:0)

$(document).ready(function() {
    $('#confirm').click(function() {
       $.ajax({
         url: "confirm.php",
         type: "POST",
         data: "code="+$('input[name="code"]').val(),
         dataType: "text",
         async:false,
         success: function(msg){
           if(msg=='sucess'){
             alert('yay');
           }else{
             alert('nay');
           }
         }
       });
    });
});